Как избежать двойных кавычек в значениях атрибутов XML?

Из следующих исследований

<tag attr="\"">
<tag attr="<![CDATA["]]>">
<tag attr='"'>

Только последний работает для синтаксического анализатора XML, который я использую здесь. Есть ли другая альтернатива?

Ответ 1

Вы можете использовать &quot;

Ответ 2

Из Спецификация XML:

Чтобы разрешить значения атрибутов как одиночные, так и двойные кавычки, апостроф или символ одиночной кавычки (') может быть представлена ​​как "&", и символ двойной кавычки ( ") как" "".

Ответ 3

Страница String conversion на сайте Coder Toolbox удобен для кодирования более чем небольшого количества HTML или XML-кода для включения в качестве значения в элементе XML.

Ответ 4

Символ двойной кавычки (") может быть экранирован как &quot;, но здесь остальная часть истории...

Символ двойной кавычки должен быть экранирован в этом контексте:

  • В атрибутах XML, разделенных двойными кавычками:

    <EscapeNeeded name="Pete &quot;Maverick&quot; Mitchell"/>
    

Символ двойной кавычки не должен быть экранирован в большинстве контекстов:

  • В текстовом контенте XML:

    <NoEscapeNeeded>He said, "Don't quote me."</NoEscapeNeeded>
    
  • В атрибутах XML, разделенных одинарными кавычками ('):

    <NoEscapeNeeded name='Pete "Maverick" Mitchell'/>
    

    Аналогично, (') не требует экранирования, если (") используются для разделителей значений атрибутов:

    <NoEscapeNeeded name="Pete 'Maverick' Mitchell"/>
    

См. также