从XDocument获取XmlElement

时间:2013-07-27 21:55:23

标签: c# .net xml linq linq-to-xml

我必须将整个XML文档传递给第三方函数。参数为XmlElement

到目前为止,我已成功使用此功能:

XmlDocument doc;
//doc = ...
XmlElement root = doc.DocumentElement;
3rdPartyFunction(root);

但现在我使用XDocument代替XmlDocument

XDocument doc;
//doc = ...
//how to call 3rdPartyFunction?

在这种情况下如何调用该函数?我可以从“Xml”转换为“X”吗?

2 个答案:

答案 0 :(得分:5)

使用此:

var newDoc = new XmlDocument();
newDoc.LoadXml(doc.ToString());
3rdPartyFunction(newDoc);

答案 1 :(得分:2)

[更新]

XmlDocument xmldoc = new XmlDocument();
using (XmlReader reader = xdoc.CreateReader())
{
    xmldoc.Load(reader);
}
XmlElement root = xmldoc.DocumentElement;
3rdPartyFunction(root);