Как избежать амперсандов в XML, чтобы они отображались как объекты в HTML?

У меня есть XML-текст, который я хочу отобразить на странице HTML. Этот текст содержит амперсанд, который я хочу отобразить в представлении его сущности: &.

Как избежать этого амперсанда в исходном XML? Я пробовал &, но он декодируется как фактический символ амперсанда (&), который недействителен в HTML.

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

446
25 авг. '09 в 17:11
источник поделиться
12 ответов

Когда ваш XML содержит &, это приведет к тексту &.

Когда вы используете это в HTML, это будет отображаться как &.

351
25 авг. '09 в 17:37
источник

Связанные вопросы


Похожие вопросы

Согласно §2.4 спецификации XML 1.0, вы должны иметь возможность использовать & ,

Я пробовал & но это не разрешено.

Вы уверены, что это не другая проблема? XML явно определяет это как способ избежать амперсандов.

181
25 авг. '09 в 17:13
источник

Символ & сам по себе является escape-символом в XML, поэтому решение состоит в том, чтобы объединить его и десятичный эквивалент Unicode для & тем самым гарантируя отсутствие ошибок синтаксического анализа XML. То есть, замените символ & & ,

106
09 февр. '11 в 3:38
источник

Знаки CDATA?

     <![CDATA[
       This is some text with ampersands & other funny characters. >>
     ]]>
56
25 авг. '09 в 17:14
источник

&amp; должен работать отлично, Wikipedia имеет Список предопределенных сущностей в XML.

39
25 авг. '09 в 17:14
источник

В моем случае мне пришлось изменить его на %26.

Мне нужно было избежать & в URL-адресе. Так что &amp; не сработало для меня. Функция urlencode изменяет & на %26. Таким образом, ни XML, ни механизм URL-адреса браузера не жаловались на URL-адрес.

9
25 окт. '13 в 16:45
источник

Я пробовал & amp, но это не сработало. Основываясь на ответе Wim ten Brink, я попробовал и amp; amp, и это сработало.

One of my fellow developers suggested me to use &#x26; and that worked regardless of how many times it may be rendered.

4
20 июня '13 в 20:14
источник

&amp; - это способ представления амперсанда в большинстве разделов XML-документа.

Если вы хотите, чтобы XML отображался в HTML, вам нужно сначала создать правильно закодированный XML (который включает в себя изменение & до &amp;), а затем использовать его для создания правильно закодированного HTML (который включает в себя повторное изменение & до &amp;). Это приводит к:

&amp;amp;

Более подробное объяснение XML-кодирования см. в разделе

Какие символы мне нужно выполнить в документах XML?

3
30 авг. '16 в 17:44
источник

<xsl:text disable-output-escaping="yes">&amp;&nbsp;</xsl:text> выполнит трюк.

2
01 марта '11 в 19:23
источник

Как насчет использования юникода \u0026? Работает для меня в моих XML файлах Android. Если возникают проблемы, кто-то сообщил мне.

2
04 марта '13 в 1:56
источник

Посмотрите, как выглядит ваш XML ниже.

<Employees Id="1" Name="ABC">
  <Query>
    SELECT * FROM EMP WHERE ID=1 AND RES<>'GCF'
  <Query>
</Employees>

Вы не можете использовать <> напрямую, поскольку он выдает ошибку. В этом случае вы можете использовать &#60;&#62; взамен этого.

<Employees Id="1" Name="ABC">
  <Query>
    SELECT * FROM EMP WHERE ID=1 AND RES &#60;&#62; 'GCF'
  <Query>
</Employees>

Нажмите здесь, чтобы просмотреть все коды.

0
17 сент. '16 в 6:40
источник

Связанная проблема заключается в том, как кодировать содержимое элемента XML, когда такой контент содержит амперсанд - если XML является частью URI, представленной с действием GET. (Оставив в стороне мудрость такого API-интерфейса, с этим мне пришлось столкнуться сегодня.) Я попробовал все, что упоминалось выше, и единственное, что действительно работало, было %26amp;. %26 был необходим для URL-кодирования первый символ в XML-кодировке для амперсанда. amp;, следующий за %26, был необходим, поскольку XML-часть URI загружалась в сервер XML-документа. Поэтому в этом забавном сценарии необходимо было скреплять обе методологии кодирования вместе.

0
21 дек. '16 в 6:23
источник

Посмотрите другие вопросы по меткам или Задайте вопрос