私はこのようなxmlを持っています。
<?xml version="1.0" encoding="utf-8" ?>
<Category ID="1" AICategoryName="Schedule K: Income/Loss" Taxonomy="K">
<Level1 ID="11965" Name="Guaranteed payments" Taxonomy="4">
<Level2 ID="27058" Name="Gtd Pmts(trade/bus) to Sch. M-1" Taxonomy="1">
</Level2>
<Level2 ID="27059" Name="Gtd Pmts not to Sch. M-1" Taxonomy="2">
</Level2>
</Level1>
<Level1 ID="119652" Name="2Guaranteed payments" Taxonomy="4">
<Level2 ID="227058" Name="2Gtd Pmts(trade/bus) to Sch. M-1" Taxonomy="1">
</Level2>
<Level2 ID="227059" Name="2Gtd Pmts not to Sch. M-1" Taxonomy="2">
</Level2>
</Level1>
</Category>
親ノードの属性 ID を指定して、親ノードの下にある子ノードを取得したいと考えています。
たとえば、Level1 と 11965 を指定すると、すべてのレベル 2 ノードとその名前と ID を取得する必要があります。
このコードを試しました。
XDocument xd = XDocument.Load(xmlPath);
var xl = from xml2 in xd.Descendants("Level1")
where xml2.Parent.Attribute("ID").Value == parentNode.ID
select xml2;
しかし、コードは結果をもたらしません。また、xl を取得したら、それを繰り返し処理して子ノードの名前と ID を取得するにはどうすればよいですか?