2008-09-15 6 views
3

J'écris une chaîne contenant du code XML via System.Xml.XmlWriter. Je suis coincé à l'aide WriteString(), et de la documentation:Désactivation des parenthèses d'angle via System.Xml.XmlWriter

WriteString effectue les opérations suivantes: Les caractères &, < et> sont remplacés par & amp ;, lt ;, & et gt ;, & respectivement.

Je voudrais que cela s'arrête, mais je n'arrive pas à trouver de propriétés XmlWriterSettings pour contrôler ce comportement. Quelles sont quelques solutions de contournement? Merci!

David

Répondre

0

Je suis coincé à l'aide WriteString(),

Je pense que c'est la racine de votre problème. Pouvez-vous expliquer plus sur la raison pour laquelle vous êtes coincé en utilisant WriteString? Mon instinct est que vous utilisez la mauvaise méthode pour ce que vous voulez faire

+0

En fait, j'utilise le framework de syndication Argotic pour générer un flux Atom, et il utilise WriteString() en interne pour écrire certains éléments. –

1

Essayez d'envelopper votre contenu réel entre les balises CDATA:

< [CDATA [il est mon contenu]] >

1

WriteString écrit votre contenu sous la forme d'un littéral, et &, < et> sont illégaux dans le texte XML, ils sont donc échappés.

Si l'autre extrémité ne les déconnecte pas, c'est là que se situe le problème.

Si vous souhaitez écrire un fichier XML non échappé, utilisez WriteRaw.

Questions connexes