Exec सारांश - आप चाहते हैं:
xml.Elements.Select(function(element) new XElement(element.Name,element.Attributes))
पहले जवाब:
XElement.Descendants
, या यह एक चाल सवाल है? : पी There's an example of usage of Descendants here
संशोधित जवाब, धन्यवाद Tormod - कुछ गलत महसूस किया !:
तत्वों प्रत्यक्ष सन्तान देता है, आप देख रहे हैं के रूप में। Descendants पूर्ण पदानुक्रम देता है [जैसा कि आप तत्वों का आरोप लगा रहे हैं]। ।!
Dim xml = <Root>
<Parent id="1">
<Child>Thomas</Child>
</Parent>
<Parent id="2">
<Child>Tim</Child>
<Child>Jamie</Child>
</Parent>
</Root>
REM All nodes two levels down in the hierarchy
Dim level2Nodes = xml.Elements.SelectMany(function(element) element.Elements)
level2Nodes.Dump
REM All Child nodes, no matter where they are:
Dim children = xml.Descendants("Child")
प्रत्येक जिनमें से आप निकलेगा: (उदाहरण मैं जुड़ा हुआ भ्रम के लिए यह स्पष्ट क्षमा याचना करता है
तो, अंत में, क्या आप देख रहे हैं) वीबी में (इस समय है 3 `` `(वीबी बयान मोड में ऊपर पेस्ट सीधे LINQPad में) Rems में शामिल के रूप में विभिन्न कारणों के लिए तत्वों
मैं अब देखते हैं कि क्या आप भ्रमित किया जा सकता है -। जब आप तत्वों का उपयोग करें और देखने के लिए एक विज़ुअलाइज़र में, आप अभी भी हैं बच्चों को देखकर: -:
Dim parentNames = xml.Elements.Select(function(element) element.Name)
ध्यान दें कि इन मामलों में से प्रत्येक में, आप दो परिणाम दे रहे हैं
Dim parents = xml.Elements
केवल वास्तविक नाम चाहते हैं, आप की तरह कुछ का उपयोग कर सकते हैं।
तुम सच में chidren उन्हें हटाना चाहते हैं, तो आप चाहते हैं:
Dim parentElements = xml.Elements.Select(function(element) new XElement(element.Name,element.Attributes))
आप को दिखाने के लिए आप वास्तव में क्या देख रहे हैं अपने प्रश्न का विस्तार कर सकते हैं?
क्या आप वास्तविक अवतार में संपादित कर सकते हैं जिसका उपयोग आप समाप्त कर चुके हैं? बीटीडब्ल्यू कृपया LINQPAd डाउनलोड करें और इसे आजमाएं - इस तरह की सामग्री परीक्षण के लिए यह बहुत अच्छा है। Http://www.dimecasts.net/Casts/ByTag/LinqPad –