私はこれのようなxmlを持っています。属性値からXML xElementノードを選択して反復する方法は?
<?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;
しかし、コードyeilds結果はありません。一度xlを取得すると、子ノード名とIDを取得するためにどのように反復処理を行うことができますか?
'xd.Descendants( "レベル1")'(、あなたが正しいない子孫_of_ Level' –