如何在C#中将XmlDocument
转换为XmlNode
?我需要将整个XmlDocument
对象作为输入参数发送到.NET Web服务。
如何在C#中将XmlDocument
转换为XmlNode
?我需要将整个XmlDocument
对象作为输入参数发送到.NET Web服务。
XmlDocument是一个XmlNode,因此您可以直接传递文档对象。
或者您可以发送其DocumentElement,或从XPath查询返回的任何节点。
XmlDocument doc = null;
XmlNode node = doc;
XmlNode node = doc.DocumentElement;
XmlNode node = doc.SelectSingleNode("/foo/bar");
除非你需要在一个同时支持XmlNode和XmlDocument参数类型的方法中进行区分,否则不需要进行转换或转换。如果是这种情况,请使用任一转换或as
运算符。
XmlDocument doc = ...
XmlNode node = doc as XmlNode;
XmlDocument是从XmlNode派生而来的,但您也可以发送XmlDocument.DocumentElement,它是一个XmlElement,但最终也是从XmlNode派生的。您可能需要检查XmlDocument.DocumentElement == null。