web-dev-qa-db-ja.com

XDocumentからXElement

XDocumentをXElementに変換するにはどうすればよいですか?

検索で以下を見つけましたが、XDocumentとXElementではなく、XDocumentとXmlDocument間の変換用です。

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;
}

XDocumentをXElementに変換するためのものが見つかりませんでした。任意の助けいただければ幸いです。

XDocumentからXmlDocument:

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(xdoc.CreateReader());

XmlDocumentからXDocument

XDocument xDoc = XDocument.Load(new XmlNodeReader(xmlDoc));

XDocumentからルート要素を取得するには、xDoc.Rootを使用します

27
Pawel

他の人も言っていますが、ここに明示的にXDocumentをXElementに変換するサンプルを示します。

 XDocument doc = XDocument.Load(...);
 return doc.Root;
28
Bobson

XDocumentからXElementへの単純な変換

XElement cvtXDocumentToXElement(XDocument xDoc)
{
    XElement xmlOut = XElement.Parse(xDoc.ToString());
    return xmlOut;
}
7
Steve Hendren