Сущность XML для "/"? - PullRequest
       38

Сущность XML для "/"?

40 голосов
/ 12 февраля 2009

Итак, я пишу некоторый код, генерирующий XML, и обнаружил, что следующее значение атрибута нарушает форматирование XML:

"Jim/Bob"

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

Ответы [ 7 ]

46 голосов
/ 12 февраля 2009

Косая черта действительна как есть и не требует дальнейшего кодирования.

Единственные зарезервированные символы:

>
<
&
%

Для еще большего количества объектов XML - http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references

7 голосов
/ 12 августа 2013

Я знаю, что оказалось, что это не проблема, но я подумал, что было бы полезно упомянуть, что, в дополнение к ответу Бобинса, Фракционный слэш HTML-сущность &frasl; выглядит прямо как косая черта . На всякий случай, если кто-то достигнет этой страницы, на самом деле хочет получить HTML-сущность для чего-то, представляющего косую черту.

5 голосов
/ 17 августа 2016

К вашему сведению, хотя косая черта является допустимым XML, следите за тем, как он используется в нисходящем направлении. Мы использовали его для подключения к лазурной очереди служебной шины. Сам Azure генерировал ключи с косой чертой в строках соединения, но затем молча ломался, когда мы пытались их использовать. Избавившись от них с “&#47;”, он заработал

"Jim&#47;Bob"
5 голосов
/ 12 октября 2011

Я не думаю, что комментарии в этой теме полностью правильны, поскольку, если вы используете схему (XSD), вы можете определить элементы с именами Jim, Bob и Jim / Bob без каких-либо проблем. Но тогда, когда вы хотите определить элемент и сущность:

<names>
  <Jim>Carrey</Jim>
  <Bob>Jones</Bob>
  <Jim/Bob>Six figured Hillbilly</Jim/Bob>
</names>

Проблемы очевидны.

5 голосов
/ 12 февраля 2009

Для него нет предопределенной ссылки на сущность, но вы можете использовать символьную ссылку: «/ обработ.

Однако вам не нужно избегать / для включения в XML. Возможно, вам придется включить его для включения в что-то еще, например, часть пути URI. Но тогда вам придется сначала избежать этого для этого формата; приложение, которое получает URI, не сможет узнать, закодировали ли вы его в XML или нет.

4 голосов
/ 12 февраля 2009

Я не понимаю, почему значение "Джим / Боб" должно было бы экранироваться или вызывать какие-либо проблемы с XML.

0 голосов
/ 12 февраля 2009

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

Я не знаю, что вы подразумеваете под форматированием XML.

...