2008-11-20 4 views
3

J'ai créé suivant xml simple (séquence C d'échappement utilisé) "<A>\n</A>" Lorsque MSXML (v4 et v6) sérialiser DOM document en utilisant IXMLDOMDocument2.xml il change au format dos newline et renvoie: "<A>\r\n</A>" à la place.MSXML et la normalisation de saut de ligne (?) De la propriété document.xml

Lorsque j'utilise DOM pour récupérer uniquement le nœud de chaîne à l'intérieur de l'élément <A>, j'obtiens la chaîne ("\n").

Bien sûr, j'ai preserveWhiteSpace ensemble à VARIANT_TRUE

XML.Net et Xerces parseurs fonctionne très bien et ne modifient pas la chaîne stockée lors de la sérialisation du document XML.

Est-ce un bug dans msxml? une idée?

thx Jiri

Répondre

0

Microsoft a changé la façon dont sérialisation nouvelle ligne est traitée dans MSXML 4 partir de se conformer aux normes w3wc (Voir http://support.microsoft.com/kb/261293)

Je ne sais pas pourquoi la même n'a pas été fait pour pour l'implémentation XML dans .Net, mais le même est fait pour les services Web dans .Net 2.0.

Quand j'ai eu ce problème dernier, je suis venu à la conclusion que vous devez soit pour tenir compte du fait que des sauts de ligne peuvent être sérialisés imprévisiblement (par exemple en remplaçant \r\n avec \n), ou si vous devez Base64 encode votre texte (ou équivalent)

Questions connexes