Execの概要 - あなたが欲しい:
xml.Elements.Select(function(element) new XElement(element.Name,element.Attributes))
が最初の答え:
XElement.Descendants
、またはそれはトリックの質問ですか? :P There's an example of usage of Descendants here
改訂答え、感謝トーモッド - あなたが探していると、何かが間違っ感じました!:
要素は、直接の子孫を与えます。子孫は完全な階層を与えます(あなたが要素がそうしているように)。 (私はこれを明確にするためにリンクされ、混乱のために謝罪を例
そうで、最終的には、あなたが探していることはVBで(この時間)です。!
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")
あなたが得られますそれぞれのREMでカバーとしてさまざまな理由から3 `` `要素
(VBステートメントモードでLINQPadに直接上記を貼り付け)
私は今あなたを混乱されるかもしれないものを見る - 。あなたは要素を使用する場合と見えますそれは視覚化装置で、あなたはまだ子どもたちを見て: - :それぞれのケースでは、次の2つの結果を得ていることを
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))
はあなたが本当に探しているものを表示するようにあなたの質問を拡張することはできますか?
あなたが実際に使った言葉で編集できますか? BTWはLINQPAdをダウンロードして試してみてください。このようなものをテストするのに最適です。 http://www.dimecasts.net/Casts/ByTag/LinqPad –