2011-01-10 90 views
0

我想通過xslt將一個或多個動態resx/xml文件轉換爲一個resx/xml文件。
代碼應在VisualStudio中運行2010通過XSLT將超過1個動態xml文件轉換爲C#中的一個xml/resx文件

我的想法是這樣的代碼:

XsltSettings set = new XsltSettings(true, false); 
set.EnableDocumentFunction = true; 

     XElement root = new XElement("root", 
      XElement.Load("file1.xml"), 
      XElement.Load("file2.xml")); 

     XslCompiledTransform transform = new XslCompiledTransform(); 
     transform.Load("xsl.xsl",set,new XmlUrlResolver()); 
     XsltArgumentList xslArg = new XsltArgumentList(); 
     transform.Transform(root.CreateReader(), /*xslArg,*/ XmlWriter.Create("output.xml")); 

我期待感激答案

+0

1)你在尋找xslt的幫助,還是幫助將兩個輸入文件合併爲一個? 2)你的想法的結果是什麼 - 是否奏效?有沒有錯誤?結果不正確?尚未準備好運行?如果後者在什麼時候卡住了? – LarsH 2011-01-10 14:38:26

回答

0

你的答案是約一樣好,你會得到,而無需編寫延期XSLT處理器。您也可以考慮使用LINQ to XML來重新構建文檔。

1
public static void MergeResx(XElement target, string[] sources) 
    { 

     foreach (string source in sources) 
     { 
      XElement xe = XElement.Load(source); 
      target.Add(new XElement("InternalRoot", new XAttribute("Source", source), from el in xe.Elements() 
                         select el)); 
     } 
     target.Save(@"C:\MergeDone.xml"); 
    } 
相關問題