XML '&' символ вызывает проблемы - PullRequest
5 голосов
/ 08 декабря 2009

Ожидается точка с запятой. Ошибка обработки ресурса '...

<key>SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\CNXT_MODEM_PCI_VEN_8086&DEV

Как можно избежать вывода этой ошибки при просмотре моего XML-файла в браузере? Кажется, он жаловался из-за символа '&', как мне избежать этого? спасибо.

Ответы [ 6 ]

11 голосов
/ 08 декабря 2009

Попробуйте убежать с помощью &amp;.

4 голосов
/ 08 декабря 2009

Символ & должен быть экранирован как &amp; согласно стандарту XML. См. этот ТАК вопрос для получения дополнительной информации.

3 голосов
/ 08 декабря 2009

Как вы создали такой XML? Могу поспорить, что вы создали его, используя строковые манипуляции, поскольку ни один уважающий себя API XML не смог бы создать такой недопустимый XML.

Именно поэтому создавать XML с использованием XML API вместо строковых API.


var keyElement = new XElement(
    "key", @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\CNXT_MODEM_PCI_VEN_8086&DEV");

Проблема решена.

3 голосов
/ 08 декабря 2009

Вам необходимо использовать символьную сущность &amp; Возможно, у вас также возникнут проблемы с открытой угловой скобкой, которую необходимо кодировать как &lt;

0 голосов
/ 28 января 2015

У меня была та же проблема, и я исправил ее, используя следующее:

translate(replace(replace(TaskType),'&',' '),' > & < / \ " - ''',' ') 

удалены все символы & и дефис. Я считаю, что XML не любит эти символы.

0 голосов
/ 08 декабря 2009

Чтобы убежать от амперсанда:

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