c# - How do I fix my linq query -


यहां नमूना XML है

  & lt;? Xml संस्करण = "1.0" एन्कोडिंग = " यूटीएफ -8 "? & Gt; & LT; निर्देश & gt; & LT; निर्देश & gt; & LT; ब्रांड & gt; Brand1 & lt; / ब्रांड & gt; & LT; पाठ & gt; यह ब्रांड 1 के लिए पाठ है & lt; / text & gt; & Lt; / निर्देश & gt; & LT; निर्देश & gt; & LT; ब्रांड & gt; Brand2 & lt; / ब्रांड & gt; & LT; पाठ & gt; ब्रांड 2 टेक्स्ट थोड़ा अलग है & lt; / text & gt; & Lt; / निर्देश & gt; & LT; निर्देश & gt; & LT; ब्रांड & gt; Brand3 & lt; / ब्रांड & gt; & LT; पाठ & gt; ब्रांड 3 में उबाऊ पाठ है & lt; / text & gt; & Lt; / निर्देश & gt; & LT; निर्देश & gt; & LT; ब्रांड & gt; Brand4 & lt; / ब्रांड & gt; & LT; पाठ & gt; ब्रैंड 4 का टेक्स्ट लंबे समय तक था, जब तक कि संपादक को इस फ़ाइल को पकड़ा नहीं गया था & lt; / text & gt; & Lt; / निर्देश & gt; & Lt; / निर्देश & gt;  

मेरा कोड यह है:

<पूर्व> स्ट्रिंग जोआमी = "ब्रांड 1"; स्ट्रिंग टी = (xmldoc.Descendants ("निर्देश" में निर्देश से) जहां (स्ट्रिंग) निर्देश। एलिमेंट ("ब्रांड")। मान == WhoAmI टी चुनें = निर्देश। एलेमेंट ("पाठ")। मान) .ओस्ट्रिंग () ; // एंड कोड

टी हमेशा होता है

सिस्टम.लिंक.अन्यरेबल + कहां SelectionEnumerableIterator`2 [System.Xml.Linq.XElement, System.String]

नहीं

यह ब्रांड 1 के लिए पाठ है

मैं क्या कर रहा हूँ गलत?

यह क्वेरी स्ट्रिंग्स का एक क्रम नहीं लौटाएगी, एक एकल स्ट्रिंग नहीं। तो .toString () विधि कॉल IEnumerable ToString विधि होगा।

अगर आपको पूरा भरोसा है कि आपकी क्वेरी हमेशा केवल 1 स्ट्रिंग लौटाएगी तो आप बस () या एकलऑपरेट () विधियों का उपयोग केवल वापस कर सकते हैं स्ट्रिंग।

  स्ट्रिंग जोआमी = "ब्रांड 1"; स्ट्रिंग टी = (xmldoc.Descendants ("निर्देश" में निर्देश से) जहां (स्ट्रिंग) निर्देश। एलिमेंट ("ब्रांड")। मान == WhoAmI चुनें टी = निर्देश। एलेमेंट ("पाठ")। मान) .SingleOrDefault () ;  

Comments