XDocument到XElement

Sta*_*ful 17 c# xml xelement linq-to-xml

如何将XDocument转换为XElement?

我通过搜索找到了以下内容,但是它用于在XDocument和XmlDocument之间进行转换,而不是XDocument和XElement.

public static XElement ToXElement(this XmlElement xmlelement)
{
    return XElement.Load(xmlelement.CreateNavigator().ReadSubtree());
}

public static XmlDocument ToXmlDocument(this XDocument xdoc)
{
    var xmldoc = new XmlDocument();
    xmldoc.Load(xdoc.CreateReader());
    return xmldoc;
}
Run Code Online (Sandbox Code Playgroud)

我找不到任何将XDocument转换为XElement的东西.任何帮助,将不胜感激.

Bob*_*son 28

其他人已经说过了,但是这里显然是一个将XDocument转换为XElement的示例:

 XDocument doc = XDocument.Load(...);
 return doc.Root;
Run Code Online (Sandbox Code Playgroud)

  • @Pawel - 是的,但我觉得有必要使用简单的代码示例使其非常明确,因为OP仍在寻找答案. (5认同)
  • 不要忘记这作用于相同的引用,即,如果您编辑生成的 XElement,更改也会反映在 XDocument 文档上。这可能是所希望的,也可能不是所希望的。 (2认同)

Paw*_*wel 27

XDocument到XmlDocument:

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(xdoc.CreateReader());
Run Code Online (Sandbox Code Playgroud)

XmlDocument到XDocument

XDocument xDoc = XDocument.Load(new XmlNodeReader(xmlDoc));
Run Code Online (Sandbox Code Playgroud)

从您使用的XDocument中获取根元素 xDoc.Root


小智 7

从XDocument到XElement的简单转换

XElement cvtXDocumentToXElement(XDocument xDoc)
{
    XElement xmlOut = XElement.Parse(xDoc.ToString());
    return xmlOut;
}
Run Code Online (Sandbox Code Playgroud)