web-dev-qa-db-fra.com

Comment puis-je inclure un caractère esperluette (&) dans un document XML?

Comment insérer un symbole & dans l'attribut d'une balise XML tout en maintenant le code XML valide?

<?xml version="1.0" ?> 
<a text="b&c"/>

Quand j'utilise le validateur de W3School , le message d'erreur suivant s'affiche:

EntityRef: attendre ';'

24
nagy.zsolt.hun

Utilisez une référence de caractère pour la représenter: &amp;

Voir la spécification :

Le caractère esperluette (&) et le crochet angulaire gauche (<) NE DOIVENT PAS apparaître sous leur forme littérale, sauf lorsqu'ils sont utilisés comme délimiteurs de balisage, ou dans un commentaire, une instruction de traitement ou une section CDATA. ils sont nécessaires ailleurs, ils DOIVENT être échappés en utilisant soit des références de caractères numériques, soit les chaînes " &amp;" et " &lt;" respectivement. Le crochet (>) peut être représenté à l’aide de la chaîne " &gt;" Et DOIT, par compatibilité, être échappé au moyen de " &gt;" Ou par une référence de caractère la chaîne " ]]>" dans le contenu, lorsque cette chaîne ne marque pas la fin d'une section CDATA.

45
Quentin

Vous pouvez utiliser ces séquences d'échappement:

< (less-than)                   -   &#60; or &lt;

> (greater-than)                -   &#62; or  &gt;

& (ampersand)                   -   &#38;

' (apostrophe or single quote)  -   &#39;

" (double-quote)                -   &#34;
0
Shubham