Question Comment échapper des esperluettes en XML pour qu'elles soient rendues en tant qu'entités en HTML?


J'ai un texte XML que je souhaite afficher dans une page HTML. Ce texte contient une esperluette que je veux rendre dans sa représentation d'entité: &.

Comment puis-je échapper cette esperluette dans le code source XML? j'ai essayé &, mais ceci est décodé comme le caractère esperluette (&), lequel est invalide en HTML.

Donc, je veux y échapper de telle manière qu'il sera rendu comme & dans la page Web qui utilise la sortie XML.


444
2017-08-25 14:11


origine


Réponses:


Lorsque votre XML contient &, cela entraînera le texte &.

Lorsque vous utilisez cela en HTML, cela sera rendu comme &.


348
2017-08-25 14:37



Selon §2.4 de la spécification XML 1.0, vous devriez pouvoir utiliser &.

J'ai essayé & amp; mais ce n'est pas autorisé.

Êtes-vous sûr que ce n'est pas un problème différent? XML définit explicitement cela comme le moyen d'échapper à l'esperluette.


181
2017-08-25 14:13



le & caractère est lui-même un caractère d'échappement en XML, donc la solution est de concaténer et un équivalent décimal Unicode pour & assurant ainsi qu'il n'y a pas d'erreurs d'analyse XML. C'est-à-dire remplacer le caractère & avec &.


106
2018-02-09 00:38



Balises CDATA?

     <![CDATA[
       This is some text with ampersands & other funny characters. >>
     ]]>

56
2017-08-25 14:14



&amp; devrait fonctionner très bien, Wikipedia a un Liste des entités prédéfinies en XML.


39
2017-08-25 14:14



Dans mon cas, j'ai dû le changer pour %26.

J'avais besoin de m'échapper & dans une URL. Alors &amp; n'a pas fonctionné pour moi. le urlencode changements de fonction & à %26. De cette façon, ni XML, ni le mécanisme d'URL du navigateur ne se sont plaints de l'URL.


8
2017-10-25 13:45



J'ai essayé & amp; mais cela n'a pas fonctionné. Sur la base de la réponse de Wim ten Brink, j’ai essayé & amp;

Un de mes collègues développeurs m'a suggéré d'utiliser & # x26; et cela a fonctionné indépendamment du nombre de fois qu'il peut être rendu.


4
2018-06-20 17:14



&amp; est le moyen de représenter une esperluette dans la plupart des sections d'un document XML.

Si vous souhaitez afficher du code XML dans HTML, vous devez d'abord créer un code XML correctement codé (ce qui implique de changer & à &amp;) et puis utiliser cela pour créer du code HTML correctement codé (ce qui implique de changer à nouveau & à &amp;). Cela se traduit par:

&amp;amp;

Pour une explication plus complète du codage XML, voir:

De quels caractères ai-je besoin pour m'échapper dans des documents XML?


3
2017-08-30 14:44