Есть ли в xml escape-символ для двойной кавычки? Я хочу написать такой тег:
<parameter name="Quote = " ">
но если я поставлю ", это означает, что строка закончилась. Мне нужно что-то вроде этого (c ++):
printf("Quote = \" ");
Есть ли символ, который нужно написать перед двойной кавычкой, чтобы избежать ее?
"
остальная часть истории ...Ответы:
Попробуй это:
источник
Вот общие символы, которые нужно экранировать в XML, начиная с двойных кавычек:
"
) заменяются на"
&
) экранируется в&
'
) заменяются на'
<
) экранируется до<
>
) экранируется до>
источник
Другие ответили на вопрос, как справиться с конкретным побегом в этом случае.
Более широкий ответ - не пытаться сделать это самостоятельно. Используйте XML API - их достаточно практически для каждой существующей современной платформы программирования.
XML API будет обрабатывать подобные вещи автоматически, что значительно усложняет ошибку. Если вы сами не пишете XML API, вам редко придется беспокоиться о подобных деталях.
источник
Новый, улучшенный ответ на старый, часто задаваемый вопрос ...
Когда избегать двойных кавычек в XML
Двойная кавычка (
"
) может появляться без экранирования :В текстовом содержимом XML:
В атрибутах XML, разделенных одинарными кавычками (
'
):Примечание: переход на одинарные кавычки (
'
) также не требует экранирования:Двойная кавычка (
"
) должна быть экранирована :В атрибутах XML, разделенных двойными кавычками:
Нижняя граница
Двойные кавычки (
"
) следует экранировать, как"
в XML, только в очень ограниченном контексте.источник
Нет, как такового escape-символа нет, вместо этого вы можете использовать
"
или даже<![CDATA["]]>
представлять"
символ.источник
Если вам просто нужно быстро что-то попробовать, вот быстрое и грязное решение. Используйте одинарные кавычки для значения атрибута :
источник
В C ++ вы можете использовать EscapeXML ATL API. Это правильный способ обработки специальных символов ...
источник
Вы можете попробовать использовать обратную косую черту, за которой следует «u», а затем значение Unicode для символа, например значение Unicode двойной кавычки
"-> U + 0022
Поэтому, если бы вы устанавливали его как часть текста в XML в Android, это выглядело бы примерно так:
Это создаст текст в TextView примерно так
«Показаны двойные кавычки»
Вы можете найти юникод большинства символов и символов здесь www.unicode-table.com/en
источник