Я пытаюсь преобразовать этот 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) для преобразования файла?