如何从Xdocument获取Xml作为string
我是linq to XML的新手。 在构buildXDocument之后,如何像使用XmlDocument一样获取它的OuterXml。
您只需要使用对象的重写的ToString()方法:
public static string ToOuterXml(XDocument xmlDoc) { return xmlDoc.ToString(); }
这适用于所有XObject,如XElement等
使用ToString()将XDocument转换为string:
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();
我不知道这是什么时候改变的,但是今天(2017年7月),当我试着回答的时候,我得到了答案
“System.Xml.XmlDocument”
您可以使用最初预期的方式访问XmlDocument
内容,而不是使用ToString()
:将xml文档写入stream中。
XmlDocument xml = ...; string result; using (StringWriter writer = new StringWriter()) { xml.Save(writer); result = writer.ToString(); }