我是LINQ to XML的新手。在构建了XDocument
之后,如何像使用XmlDocument
一样获得它的OuterXml
发布于 2010-12-26 19:11:18
您只需使用对象的重写的ToString()方法:
XDocument xmlDoc ...
string xml = xmlDoc.ToString();
这适用于所有的XObjects,如XElement等。
发布于 2019-07-08 20:45:32
执行XDocument.ToString()可能不会得到完整的XML。
为了将XML文档开头的XML声明作为字符串,请使用XDocument.Save()方法:
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());
发布于 2013-04-12 17:45:22
使用ToString()将XDocument转换为字符串:
string result = string.Empty;
XElement root = new XElement("xml",
new XElement("MsgType", "<![CDATA[" + "text" + "]]>"),
new XElement("Content", "<![CDATA[" + "Hi, this is Wilson Wu Testing for you! You can ask any question but no answer can be replied...." + "]]>"),
new XElement("FuncFlag", 0)
);
result = root.ToString();
https://stackoverflow.com/questions/4533609
复制相似问题