est ici un code C#:XmlWriter ne s'échapper une sorte de citation
var sb = new StringBuilder();
var w = XmlWriter.Create(sb);
w.WriteStartElement("hello");
w.WriteAttributeString("target", "world ' \" !");
w.WriteEndElement();
w.Flush();
// then look at sb.ToString()
Je reçois une chaîne qui ressemble à:
<?xml version="1.0" encoding="utf-16"?><hello target="world ' " !" />
Il est seulement échapper à la guillemet, pas le seul -citation. Mais les docs pour XmlWriter.WriteAttributeString (String, String) disent:
Si la valeur d'attribut comprend des guillemets doubles ou simples, ils sont remplacés par & quot; et & apos; respectivement.
Y a-t-il un drapeau que je dois définir pour qu'il fasse ce que disent les docs?
Comme ils sont sémantiquement identiques, pouvez-vous expliquer pourquoi cela vous cause des problèmes? –
Compatibilité avec les systèmes hérités, malheureusement. Certes, cela ne poserait pas de problème si XmlWriter et .NET ne semblaient pas avoir de bogues superposés. : P – Ken
Ainsi, le système hérité ne peut pas comprendre XML valide. Ick. –