के साथ descendants() या Elements() का उपयोग नहीं कर सकता मैं एक्सएमएल के साथ काम करने के लिए नया हूं, और एक spring.net कॉन्फ़िगरेशन फ़ाइल से एक विशिष्ट टैग प्राप्त करने का प्रयास करते समय मुझे एक अजीब समस्या का सामना करना पड़ा है। एक परीक्षण xml फ़ाइल के साथ समस्या को कम करने की कोशिश कर के बाद, मुझे पता चला है कि निम्नलिखित कोड लागू:xmlns
List<XElement> nodes = xmlFile.Descendants("B").ToList();
निम्न फ़ाइल के साथ एक गैर खाली सूची प्रदान करता है:
<?xml version="1.0" encoding="utf-8" ?>
<A fakeAttribute="aaa">
<B id="DbProvider"/>
</A>
लेकिन एक प्रदान करता है निम्न फ़ाइल के साथ खाली स्ट्रिंग:
<?xml version="1.0" encoding="utf-8" ?>
<A xmlns="aaa">
<B id="DbProvider"/>
</A>
विशेषता वाले फ़ाइलों के बीच एकमात्र अंतर।
मैं इसके लिए एक स्पष्टीकरण की कल्पना नहीं कर सकता। आपकी सहायता के लिए धन्यवाद.
धन्यवाद! उसने चाल की - लेकिन एक और समस्या का रास्ता भी खोला। मैं उदाहरण के लिए "बी" नामक वंशज प्राप्त कर सकता हूं, लेकिन "डीबी: प्रदाता" नामक वंशज नहीं प्राप्त कर सकता (न कि "डीबी" और न ही "डीबी: प्रदाता" का उपयोग करके), जो दुख की बात है कि मुझे क्या करना है। – Tomata
डीबी एक अलग नेमस्पेस के रूप में सूचीबद्ध है। मेरी गलती। – Tomata
@Tomata यदि आप नामस्थानों को अनदेखा करना चाहते हैं तो आप कुछ लिख सकते हैं: 'var lst = doc.Descendants()। जहां (p => p.Name.LocalName == "B")। ToList(); ' – xanatos