Ich bin neu in LINQ to XML. XDocument
Wie bekommen Sie das , nachdem Sie gebaut haben , OuterXml
so wie Sie es gemacht haben XmlDocument
?
73
Sie müssen nur die überschriebene ToString () -Methode des Objekts verwenden:
XDocument xmlDoc ...
string xml = xmlDoc.ToString();
Dies funktioniert mit allen XObjects wie XElement usw.
System.Xml.XmlDocument
&
Zeichen oder andere Sonderzeichen enthält, funktioniert dies nichtIch weiß nicht, wann sich das geändert hat, aber heute (Juli 2017) habe ich beim Ausprobieren die Antworten bekommen
Stattdessen
ToString()
können Sie die ursprünglich vorgesehene Art des Zugriffs auf denXmlDocument
Inhalt verwenden: Schreiben des XML-Dokuments in einen Stream.XmlDocument xml = ...; string result; using (StringWriter writer = new StringWriter()) { xml.Save(writer); result = writer.ToString(); }
quelle
Wenn Sie XDocument.ToString () ausführen, erhalten Sie möglicherweise nicht das vollständige XML.
Verwenden Sie die Methode XDocument.Save (), um die XML-Deklaration am Anfang des XML-Dokuments als Zeichenfolge abzurufen:
var ms = new MemoryStream(); using (var xw = XmlWriter.Create(new StreamWriter(ms, Encoding.GetEncoding("ISO-8859-1")))) new XDocument(new XElement("Root", new XElement("Leaf", "data"))).Save(xw); var myXml = Encoding.GetEncoding("ISO-8859-1").GetString(ms.ToArray());
quelle
StringWriter()
zuSave()
direkt.Verwenden Sie ToString (), um XDocument in eine Zeichenfolge zu konvertieren:
quelle