Как выполнить преобразование XML с помощью .NET Core 2.2? - PullRequest
0 голосов
/ 06 января 2019

Я пытаюсь преобразовать этот XML:

https://inergysystems.blob.core.windows.net/temp/XmlStuff/the-complexity-dilemma.xml

используя этот файл преобразования XSLT.

https://inergysystems.blob.core.windows.net/temp/XmlStuff/JATS2HTML.xslt

для вывода HTML. Используя Liquid Studio 2018, я могу запустить преобразование, и полученный HTML-код будет таким, как ожидалось (https://inergysystems.blob.core.windows.net/temp/XmlStuff/the-complexity-dilemma.html).

У меня есть несколько сотен файлов для преобразования, и я хотел бы обработать их с помощью .NET Core. Я использую следующий код для преобразования необработанного XML:

var xslt = new XslCompiledTransform();
xslt.Load("JATS2HTML.xslt");
xslt.Transform("the-complexity-dilemma.xml", "the-complexity-dilemma.html");

Когда я пытаюсь запустить этот скрипт, я получаю следующую ошибку:

System.Xml.XmlException: Document does not have a root element.
at System.Xml.QueryOutputWriter.Close()
at System.Xml.XmlRawWriter.Close(WriteState currentState)
at System.Xml.XmlWellFormedWriter.Close()
at System.Xml.XmlWriter.Dispose(Boolean disposing)
at System.Xml.XmlWriter.Dispose()
at System.Xml.Xsl.XslCompiledTransform.Transform(String inputUri, String resultsFile)
at EcoWebsite.DocumentConversionHelper.ConvertXmlToHtml() in F:\....\DocumentConversionHelper.cs:line 18

Есть идеи, почему это не удается? Должен ли присутствовать DTD (journalpublishing3.dtd) для преобразования файла?

...