Вопрос

У меня есть вопрос по поводу специальных символов XML-документа, я использую & для значения элемента в XML, и синтаксический анализатор Delphi TXMLDoc жалуется на это.

Я ищу некоторые параметры синтаксического анализа XML, но ни один из них не касается специальных символов.

Любые идеи?

Пример:

    <Configuration>
      <Configuration_item>  
        <view_name value="some view & name"/>

....

С уважением, Мика

Это было полезно?

Решение

Использовать &amp; представлять амперсанд.Причина, по которой вам нужно это сделать, заключается в том, что & является специальным символом в XML, а именно, символом, используемым для обозначения начала объекта XML, который используется для указания символов в содержимом, которые (по иронии судьбы) в противном случае были бы специальными/сложными. персонажи.

<view_name value="some view &amp; name"/>

Другие распространенные объекты XML:

  • " является &quot;
  • < есть &lt; (сокращение от «меньше чем»)
  • является &gt; (сокращение от «больше чем»)

Для получения дополнительной информации:

http://www.xml.com/pub/a/2001/01/31/qanda.html

Другие советы

&, < и > это специальные символы, на которые следует обратить внимание, а также внутри атрибута ". & это что-то вроде escape-символа XML.

Их можно избежать таким образом:

  • & => &amp;
  • < => &lt;
  • > => &gt;
  • " => &quot;

(На самом деле, как ни странно, вам не обязательно бежать > внутри атрибута только <.Кроме того, если вы используете ' вместо " для разделителей атрибутов вместо необходимости экранировать " как &quot; тебе нужно сбежать ' как &apos;.См. Аттвалуе дополнительную информацию можно найти в спецификации XML.)

Дав и Лавинио правы.

Если у вас есть блок текста с большим количеством специальных символов, вы можете заключить его в CDATA вместо.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top