2009-06-18 5 views

Répondre

1

Je ne suis pas sûr de comprendre exactement ... vous voulez xml à l'intérieur de html ou html à l'intérieur de xml? si c'est le dernier, pourquoi ne pas utiliser CDATA?

par exemple.

<xmlelement> 
    <![CDATA[<span>John Smith</span>]]> 
</xmlelement> 
+0

C'est une réponse texte/xml, pas html. Le '' est fourni par l'utilisateur, donc même pour CDATA, je dois m'assurer qu'un utilisateur malveillant n'entrera pas ']]' pour éviter tout xss ou quelque chose de similaire. –

+0

voir http://stackoverflow.com/questions/223652/is-there-a-way-to-escape-a-cdata-end-token-in-xml. Vous devrez vérifier explicitement cette séquence de caractères et la déshabiller. –

0

http://www.w3.org/TR/2008/REC-xml-20081126/

2,2 caractères ...

[2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] /* any Unicode character, excluding the surrogate blocks, FFFE, and FFFF. */ 

Donc, cela vous dit qu'il n'y a aucun moyen de stocker des caractères dans la zone basse < 0x20 sans Tab, CR, LF. Dans Additional l'analyseur xml doit normaliser les sauts de ligne. Il doit convertir CR LF en LF et ainsi de suite.

Il n'y a donc aucun moyen ni nœud normal ni section CDATA qui permet de transporter une chaîne de caractères binaires en XML. SI vous voulez le transporter, vous devez le convertir en base64 ou le transport est comme une liste de numéros.

Questions connexes