Y a-t-il un caractère d'échappement pour un guillemet double en XML? Je veux écrire une balise comme:
<parameter name="Quote = " ">
mais si je mets ", 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 caractère à écrire avant les guillemets doubles pour y échapper?
"
Reste de l'histoire ...Réponses:
Essaye ça:
la source
Voici les caractères courants qui doivent être échappés dans XML, en commençant par des guillemets doubles:
"
) sont échappés à"
&
) est échappée à&
'
) sont échappés à'
<
) est échappé à<
>
) est échappé à>
la source
D'autres ont répondu en termes de comment gérer l'évasion spécifique dans ce cas.
Une réponse plus large n'est pas d'essayer de le faire vous-même. Utilisez une API XML - il y en a beaucoup pour à peu près toutes les plates-formes de programmation modernes existantes.
Les API XML gèrent automatiquement des choses comme celle-ci pour vous, ce qui rend beaucoup plus difficile de se tromper. À moins que vous n'écriviez vous-même une API XML, vous devriez rarement avoir à vous soucier de ces détails.
la source
Nouvelle réponse améliorée à une ancienne question fréquemment posée ...
Quand échapper les guillemets doubles dans XML
Les guillemets doubles (
"
) peuvent apparaître sans échapper :Dans le contenu textuel XML:
Dans les attributs XML délimités par des guillemets simples (
'
):Remarque: le passage aux guillemets simples (
'
) ne nécessite également aucun échappement:Les guillemets doubles (
"
) doivent être échappés :Dans les attributs XML délimités par des guillemets doubles:
Conclusion
Les guillemets doubles (
"
) doivent être échappés comme"
en XML uniquement dans des contextes très limités.la source
Non, il n'y a pas de caractère d'échappement en tant que tel, à la place vous pouvez utiliser
"
ou même<![CDATA["]]>
représenter le"
personnage.la source
Si vous avez juste besoin d'essayer quelque chose rapidement, voici une solution rapide et sale. Utilisez des guillemets simples pour la valeur d'attribut :
la source
En C ++, vous pouvez utiliser l'API EscapeXML ATL. C'est la manière correcte de gérer les caractères spéciaux ...
la source
Vous pouvez essayer d'utiliser une barre oblique inverse 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éfinissiez dans le cadre d'un texte XML sous Android, cela ressemblerait à quelque chose comme ça,
Cela produirait un texte dans le TextView à peu près quelque chose comme ça
"Affichage des guillemets doubles"
Vous pouvez trouver unicode de la plupart des symboles et caractères ici www.unicode-table.com/en
la source