2009-01-28 12 views
52

मैं केवल XElement के बच्चों को कैसे प्राप्त करूं?XElement के बच्चे

मैं वर्तमान में XElement.Descendants() फ़ंक्शन का उपयोग कर रहा हूं, जो केवल बाल नोड्स के बजाय XElements के सभी स्तर लौटाता है।

मुझे वास्तव में क्या पसंद आएगा केवल बच्चों के लिए एक असंभव है।

उत्तर

86

तत्काल बच्चे तत्वों Element() या Elements() कार्यों को फोन करके सुलभ हैं । विशिष्ट तत्वों तक पहुंचने के लिए, या सभी बाल तत्वों तक पहुंचने के बिना नाम के साथ ओवरलोड का उपयोग करें।

Attribute() और Attributes() जैसी ही विधियां भी उपयोगी हैं जो आपको उपयोगी मिल सकती हैं।

+0

ऐसा लगता है कि ओपीएस प्रश्न हल हो गया है लेकिन 'एलिमेंट() 'के लिए कोई पैरामीटर रहित अधिभार नहीं है, इसलिए यह मुझे पहले बच्चे को पाने में मदद नहीं करता है जब मुझे पता है कि इसका' एक्सनाम 'भिन्न हो सकता है। – rtpHarry

+3

यदि आप सिर्फ पहले बच्चे को चाहते हैं, नाम के बावजूद, 'तत्व()। FirstOrDefault()' का उपयोग करने का प्रयास करें। – Bevan

+2

वे इसे "XElement.Children" क्यों नहीं कह सकते थे? रास्ता और अधिक खोजने योग्य। – Tacroy

10

XElement.Nodes() आप क्या चाहते हैं आप मिलना चाहिए।

तुम सिर्फ XElement बच्चे नोड्स तो चाहते हैं तो आप के साथ (अपने एक्सएमएल के आधार पर) को प्रतिबंधित करने की आवश्यकता हो सकती: एक XElement की

XElement.Nodes().OfType<XElement>() 
संबंधित मुद्दे