我有一个XPathDocument,并希望将其导出为包含该文档作为XML表示的字符串。最简单的方法是什么?
答案 0 :(得分:14)
您可以执行以下操作来获取XML文档的字符串表示形式:
XPathDocument xdoc = new XPathDocument(@"C:\samples\sampleDocument.xml");
string xml = xdoc.CreateNavigator().OuterXml;
如果希望字符串包含XML文档的完整表示,包括XML声明,则可以使用以下代码:
XPathDocument xdoc = new XPathDocument(@"C:\samples\sampleDocument.xml");
StringBuilder sb = new StringBuilder();
using (XmlWriter xmlWriter = XmlWriter.Create(sb))
{
xdoc.CreateNavigator().WriteSubtree(xmlWriter);
}
string xml = sb.ToString();
答案 1 :(得分:0)
XPathDocument
是XML文档的只读表示形式。这意味着内部表示不会改变。要获取XML,您可以获取原始文档。
或者使用0xA3的方法,它将遍历整个文档并再次写入(输出不一定与输入相同,但在结构和功能上相同,因为某些输入被XDM内存表示丢弃)