Как избежать амперсандов в XML, чтобы они отображались как объекты в HTML? - PullRequest
481 голосов
/ 25 августа 2009

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

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

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

Ответы [ 12 ]

0 голосов
/ 21 декабря 2016

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

0 голосов
/ 17 сентября 2016

Подумайте, выглядит ли ваш 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>

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

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