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
を使用します
他の人も言っていますが、ここに明示的にXDocumentをXElementに変換するサンプルを示します。
XDocument doc = XDocument.Load(...);
return doc.Root;
XDocumentからXElementへの単純な変換
XElement cvtXDocumentToXElement(XDocument xDoc)
{
XElement xmlOut = XElement.Parse(xDoc.ToString());
return xmlOut;
}