首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从XDocument中获取字符串形式的Xml?

如何从XDocument中获取字符串形式的Xml?
EN

Stack Overflow用户
提问于 2010-12-26 19:07:31
回答 3查看 81.1K关注 0票数 81

我是LINQ to XML的新手。在构建了XDocument之后,如何像使用XmlDocument一样获得它的OuterXml

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-12-26 19:11:18

您只需使用对象的重写的ToString()方法:

代码语言:javascript
复制
XDocument xmlDoc ...
string xml = xmlDoc.ToString();

这适用于所有的XObjects,如XElement等。

票数 113
EN

Stack Overflow用户

发布于 2019-07-08 20:45:32

执行XDocument.ToString()可能不会得到完整的XML。

为了将XML文档开头的XML声明作为字符串,请使用XDocument.Save()方法:

代码语言:javascript
复制
    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());
票数 5
EN

Stack Overflow用户

发布于 2013-04-12 17:45:22

使用ToString()将XDocument转换为字符串:

代码语言:javascript
复制
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();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4533609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档