如何将 XElement 转换为 XDocument

Posted

技术标签:

【中文标题】如何将 XElement 转换为 XDocument【英文标题】:How to convert XElement to XDocument 【发布时间】:2014-08-27 03:32:12 【问题描述】:

?有一些内置的方法吗? 我能想到的唯一方法是不使用new XDocument(xelement.ToString()),这将导致创建大字符串然后对其进行解析,从而降低性能。

【问题讨论】:

你为什么需要这个? 我有一些代码使用 XDocument 而我有 XElement,不想重写它 我真的试过了,“Task.Run(parser.GetEvent(new XDocument(outXe)));”但是看到一个错误,以为是转换的原因,结果我错过了 ()=> -1 表示未标记答案。 忘记了,因为愚蠢的 5 分钟规则... 【参考方案1】:

只需将XElement 传递给XDocument 的构造函数即可:

var xdoc = new XDocument(new XElement("a", "b"));

【讨论】:

如果是新的XElement,也可以获取Document属性。 XElement.Document 总是非空的吗?【参考方案2】:

我在这方面取得了巨大的成功:

var xDoc = XDocument.Load(xml.CreateReader());

【讨论】:

以上是关于如何将 XElement 转换为 XDocument的主要内容,如果未能解决你的问题,请参考以下文章

如何将 XElement 转换为 XDocument

将 XElement 转换为 XmlNode

将单个 XElement 转换为对象

将 XElement 转换为字符串

将 XElement 的子级转换为字符串 [重复]

ASP.NET MVC4 Web API MediaTypeFormatter 转换器将 XElement 转换为 JSON