Преобразование более 1 динамических XML-файлов через XSLT в один XML-файл / Resx в C # - PullRequest
0 голосов
/ 10 января 2011

Я хочу преобразовать один или несколько динамических файлов resx / xml через xslt в один файл resx / xml.
Код должен работать в VisualStudio 2010

Моя идея заключалась в следующем коде:

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"));

Я с благодарностью ищу ответы

Ответы [ 2 ]

1 голос
/ 14 февраля 2011
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");
    }
0 голосов
/ 10 января 2011

Ваш ответ примерно так же хорош, как вы получите без написания расширения для процессора XSLTВы можете также рассмотреть возможность использования LINQ to XML для перекомпоновки документов.

...