Возможно ли преобразование в нескольких входных XML-файлах?Преобразование XSLT с несколькими входными файлами XML
Он не представляется возможным с помощью XslCompiledTransform
, но есть ли альтернативный способ применения XSLT?
Возможно ли преобразование в нескольких входных XML-файлах?Преобразование XSLT с несколькими входными файлами XML
Он не представляется возможным с помощью XslCompiledTransform
, но есть ли альтернативный способ применения XSLT?
Вы можете использовать XSL function document() в вашем XSLT, чтобы вставить ссылку на внешний файл XML.
Применить преобразование к каждому входному XML-файлу индивидуально и составить результирующие XML-документы в один документ.
Составить входные XML-файлы в один документ и применить преобразование, например.
XElement root = new XElement("root", XElement.Load("file1.xml"), XElement.Load("file2.xml"), XElement.Load("file3.xml")); XslCompiledTransform transform; transform.Transform(root.CreateReader(), output);
С функцией XSL в C# необходимы некоторые параметры безопасности. Я считаю, что это правильное решение:
<xsl:include href="Filename"/>
Этот метод обрабатывает несколько файлов.
+1. Если входные XML-файлы не могут быть изменены, создайте XML-документ «обертка», который ссылается на все входные файлы с помощью 'document()'. – dtb