2010-03-04 10 views
6

मैं XmlDocument को XmlNode में सी # में कैसे परिवर्तित करूं? मुझे संपूर्ण XmlDocument ऑब्जेक्ट को .NET वेब सेवा में इनपुट पैरामीटर के रूप में भेजने की आवश्यकता है।XmlDocument ऑब्जेक्ट को XmlNode ऑब्जेक्ट में कनवर्ट करें - सी #?

+0

.NET Framework में परिभाषित एक जटिल प्रकार वेब सेवा के पैरामीटर के लिए खराब विकल्प की तरह लगता है। अगर सेवा आपकी है, तो आप स्ट्रिंग में प्रकार को बदलने में लग सकते हैं। इससे आप इसे अन्य भाषाओं/प्लेटफार्मों से सापेक्ष आसानी से कॉल कर सकते हैं। – TrueWill

+0

@TreueWill - सेवा मेरी नहीं है, यह तीसरी पेटी विक्रेता सेवा है। –

उत्तर

7

ए एक्सएमएल डॉक्यूमेंट एक एक्सएमएलएनोड है, इसलिए आप दस्तावेज़ ऑब्जेक्ट को पास कर सकते हैं।

या आप अपने दस्तावेज़ एलीमेंट, या किसी भी नोड को XPath क्वेरी से वापस भेज सकते हैं।

XmlDocument doc = null; 
XmlNode node = doc; 

XmlNode node = doc.DocumentElement; 

XmlNode node = doc.SelectSingleNode("/foo/bar"); 

कोई कास्टिंग या परिवर्तित करने की जरूरत है जब तक आप दोनों पैरामीटर प्रकार के लिए भार के साथ एक विधि के लिए XmlDocument से XmlNode को स्पष्ट करने की आवश्यकता है है। यदि ऐसा है, तो कास्ट या as ऑपरेटरों का उपयोग करें।

3

आप "के रूप में" एक XmlNode उपयोग के रूप में स्पष्ट रूप से इसे का उल्लेख करने की जरूरत है:

XmlDocument doc = ... 

XmlNode node = doc as XmlNode; 
0

एक XmlDocument XmlNode से ली गई है, लेकिन आप यह भी XmlDocument.DocumentElement जो एक XmlElement है लेकिन अंततः व्युत्पन्न भेज सकता है XmlNode से। आपको XmlDocument.DocumentElement == शून्य में जांचना पड़ सकता है।

संबंधित मुद्दे