Wednesday 15 January 2014

.net - Get xml node value c# -


हम निम्नलिखित XML को

  & lt;? Xml संस्करण = "1.0" एन्कोडिंग = "यूटीएफ -8"? & Gt; & Lt; प्रतिक्रिया सफलता = "सच" & gt; & LT; struct & gt; मूल्य & lt; / struct & gt; & Lt; / प्रतिक्रिया & gt;   

पार्स करते समय मुझे निम्नलिखित त्रुटि हो रही है

  रूट तत्व गुम है।   

मैंने जो कोड इस्तेमाल किया था

  foreach (xdoc.Descendants में "XElement carselement" ("प्रतिक्रिया")) {स्ट्रिंग मान = carselement.Element (" struct ") मूल्य। }   

आपके समाधान की प्रतीक्षा कर रहा है

एक्सएमएल इनपुट अपेक्षित नहीं है (यह "खाली" है) और XDocument.Load (या XDocument.Parse , आदि)।

अंततः xdoc करता है इसमें क्या अपेक्षित नहीं है - और "संदेह" पंक्तियां कभी भी नहीं चलतीं; फिर, यह अपवाद तब होता है जब एक्सएमएल पार्स किया जाता है नहीं, जब इसे एन्यूमरेट किया जाता है / नेविगेट किया जाता है इस परिदृश्य को आसानी से या स्टैक-ट्रेस से पहचाना जाना चाहिए।

यहां कुछ न्यूनतम कोड है जो LINQPad में सी # स्टेटमेंट के रूप में चलाया जा सकता है। मैंने इसे केवल डंप के साथ अच्छी तरह से प्रदर्शित करने के लिए पर्याप्त रूप से संशोधित किया है। ध्यान दें कि यह अपेक्षित रूप से चलता है

  var xmlStr = @ "& lt;? Xml संस्करण =" 1.0 "" एन्कोडिंग = "" यूटीएफ -8 ""? & Gt; प्रतिक्रिया सफलता = "" सच "" & gt; & lt; संरचना & gt; मान & lt; / struct & gt; & lt; / प्रतिक्रिया & gt; "; Var xdoc = XDocument.Parse (xmlStr); Xdoc.Descendants ("प्रतिक्रिया")। चुनें (ई = & gt; ई। एलेमेंट ("struct")। मान)। डंप ();   

यहां अपवाद कैसे हो सकता है (और descendants या अन्य गणना / नेविगेशन के साथ इसका कोई लेना देना नहीं है): < / P>

  var xmlStr = @ "& lt;? Xml संस्करण =" "1.0" "एन्कोडिंग =" "यूटीएफ -8" "? & Gt;"; Var xdoc = XDocument.Parse (xmlStr); // - & gt; XmlException: रूट तत्व     गुम है

No comments:

Post a Comment