Existe-t-il un caractère d'échappement pour une double citation au format xml? Je veux écrire un tag comme:
<parameter name="Quote = " ">
mais si je mets ", alors cela signifie que la chaîne est terminée. J'ai besoin de quelque chose comme ça (c ++):
printf("Quote = \" ");
Y a-t-il un personnage à écrire avant la double citation pour y échapper?
Essaye ça:
"
Voici les caractères communs qui doivent être échappés en XML, en commençant par les guillemets doubles:
"
) sont échappés à "
&
) est échappé à &
'
) sont échappés à '
<
) est échappé à <
>
) est échappé à >
D'autres ont répondu à la question de savoir comment gérer l'échappement spécifique dans ce cas.
Une réponse plus large consiste à ne pas essayer de le faire vous-même. Utilisez une API XML - il y en a beaucoup pour presque toutes les plateformes de programmation modernes existantes.
Les API XML gèreront automatiquement ce genre de choses, ce qui rendra beaucoup plus difficile l’erreur. Sauf si vous écrivez vous-même une API XML, vous devriez rarement vous soucier de ces détails.
Nouvelle réponse améliorée à une ancienne question fréquemment posée ...
Double citation ("
) peut apparaître sans s'échapper :
En contenu textuel XML:
<NoEscapeNeeded>He said, "Don't quote me."</NoEscapeNeeded>
Dans les attributs XML délimités par des guillemets simples ('
):
<NoEscapeNeeded name='Pete "Maverick" Mitchell'/>
Note: passage aux guillemets simples ('
) ne nécessite également aucune évasion:
<NoEscapeNeeded name="Pete 'Maverick' Mitchell"/>
Double citation ("
) doit être échappé :
Dans les attributs XML délimités par des guillemets:
<EscapeNeeded name="Pete "Maverick" Mitchell"/>
Double citation ("
) doit être échappé comme "
en XML uniquement dans des contextes très limités.
Non, il n'y a pas de caractère d'échappement proprement dit, mais vous pouvez utiliser "
ou même <![CDATA["]]>
pour représenter le "
personnage.
Si vous avez juste besoin d'essayer quelque chose rapidement, voici une solution rapide et sale. Utilisez guillemets simples pour la valeur d'attribut :
<parameter name='Quote = " '>
En C++, vous pouvez utiliser l'API EscapeXML ATL. C'est la bonne façon de gérer les caractères spéciaux ...
Vous pouvez essayer d’utiliser une barre oblique inversée suivie d’un "u" puis de la valeur unicode du caractère. Par exemple, la valeur unicode du guillemet double est
"-> U + 0022
Par conséquent, si vous le définissez comme faisant partie du texte XML dans Android, cela ressemblerait à ceci:
<TextView
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:text=" \u0022 Showing double quotes \u0022 "/>
Cela produirait un texte dans TextView à peu près comme ceci
"Afficher les guillemets doubles"
Vous pouvez trouver le code Unicode de la plupart des symboles et des caractères ici www.unicode-table.com/fr