So konvertiere ich derzeit XMLDocument in String
StringWriter stringWriter = new StringWriter();
XmlTextWriter xmlTextWriter = new XmlTextWriter(stringWriter);
xmlDoc.WriteTo(xmlTextWriter);
return stringWriter.ToString();
Das Problem bei dieser Methode ist, dass wenn ich " ((Anführungszeichen), die ich in Attributen habe) habe, es ihnen entgeht.
Zum Beispiel:
<Campaign name="ABC">
</Campaign>
Oben ist das erwartete XML. Aber es kehrt zurück
<Campaign name=\"ABC\">
</Campaign>
Ich kann String.Replace "\" ausführen, aber ist diese Methode in Ordnung? Gibt es irgendwelche Nebenwirkungen? Funktioniert es einwandfrei, wenn das XML selbst ein "\" enthält ?
using
Blöcken und nichtXmlTextWriter
.Flush
, obwohl ein AufrufClose
oder das Schließen desxmlTextWriter
using
Blocks dasselbe bewirken würde.Angenommen, xmlDoc ist ein XmlDocument-Objekt. Was ist mit xmlDoc.OuterXml falsch?
Die OuterXml-Eigenschaft gibt eine Zeichenfolgenversion der XML zurück.
quelle
Wenn Sie eine
Windows.Data.Xml.Dom.XmlDocument
Version von verwendenXmlDocument
(die beispielsweise in UWP-Apps verwendet wird), könnenyourXmlDocument.GetXml()
Sie das XML als Zeichenfolge abrufen.quelle
Als Erweiterungsmethode:
Jetzt einfach zu verwenden:
quelle
"
wird wie\"
im Debugger angezeigt , aber die Daten in der Zeichenfolge sind korrekt, und Sie müssen nichts ersetzen. Versuchen Sie, Ihre Zeichenfolge in eine Datei zu kopieren, und Sie werden feststellen, dass die Zeichenfolge korrekt ist.quelle