Ошибка при синтаксическом анализе EntityName. Строка 119, позиция 40 - PullRequest
0 голосов
/ 05 мая 2020

Хотя я нахожу вопросы, похожие на мой, ответы на эти вопросы не отвечают на мой вопрос. Я пытаюсь преобразовать XML и XSLT в HTML, чтобы его можно было преобразовать в PDF.

У меня есть страница HTML (249 строк), которая конвертируется в XSLT:

`string filePath = hostURL + "path/to/somefile.htm";`

`xslt = client.DownloadData(filePath);`

Соответствующий XML создается с помощью XmlDocument xmlDoc = new XmlDocument();

, затем добавляются узлы XmlElement и возвращается MemoryStream xmlStream, где xslt и xmlStream передаются в

`string html = Helper.GenerateHTML(xmlStream, xslt);`

In Helper.GenerateHTML(this MemoryStream xmlStream, byte[] xsltByte) это происходит:

`XmlReaderSettings settings = new XmlReaderSettings();
 settings.XmlResolver = null;
 settings.DtdProcessing = DtdProcessing.Parse;`

`using (var xsltMemoryStream = new MemoryStream(xsltByte))
 using (var xmlReader        = XmlReader.Create(xsltMemoryStream, settings))
 using (var xmlMemoryStream  = new MemoryStream())`

`using (var xmlTextWriter = new XmlTextWriter(xmlMemoryStream, null))
{                
    var xct = new XslCompiledTransform();
    xct.Load(xmlReader);
    ...
}`

, но я получаю сообщение об ошибке на xct.Load(xmlReader);, и нажатие кнопки «Создать PDF», вызвавшее этот код, не приводит к созданию и отображению PDF-файла.

Ни XSL, ни XML не имеют проблем, связанных с символами («&» против «&» и т. Д. c.). Как бы то ни было, есть еще один процесс, который извлекает XSLT из базы данных (вместо файла HTML), генерирует соответствующий XML с помощью XMLGenerator xgen = new XMLGenerator(), затем вызывает Helper.GenerateHTML(xmlStream, xslt), но не блокирует строку xct.Load(xmlReader);. кода, и отображается результирующий PDF-файл.

Почему возникает ошибка синтаксического анализа?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...