How do I convert an XmlDocument to a XmlNode in C#? I need to send the entire XmlDocument object to as an input parameter to a .NET web service.
-
A complex type defined in the .NET Framework seems like a poor choice for a parameter to a Web Service. If the service is yours, you might look into changing the type to string. That would also let you call it from other languages/platforms with relative ease.TrueWill– TrueWill2010-03-05 02:26:10 +00:00Commented Mar 5, 2010 at 2:26
-
@TrueWill - The service is not mine, it is a third paty vendor serivce.Michael Kniskern– Michael Kniskern2010-03-05 11:54:05 +00:00Commented Mar 5, 2010 at 11:54
Add a comment
|
3 Answers
A XmlDocument is a XmlNode, so you can just pass the document object.
Or you could send its DocumentElement, or any Node returned from an XPath query.
XmlDocument doc = null;
XmlNode node = doc;
XmlNode node = doc.DocumentElement;
XmlNode node = doc.SelectSingleNode("/foo/bar");
No casting or converting is needed unless you need to disambiguate XmlNode from XmlDocument for a method with overloads for both parameter types. If this is the case, use either of the cast or as operators.