1

特定のノード/属性 (ここでは適切な定義がわからない) を見つけて、そこからその子ノードの属性を選択したい xml データがあります。

<Random>
<RandomChild ID="1" Name="First" />
</Random>
<Parent>
<Child ID="1" Name="First" />
<Child ID="2" Name="Second"/>
<Child ID="3" Name="Third"/>
<Child ID="4" Name="Fourth"/>
<Child ID="5" Name="Fifth"/>
<Child ID="6" Name="Sixth"/>
<Child ID="7" Name="Seventh"/>
<Child ID="8" Name="Eighth"/>
<Child ID="9" Name="Ninth"/>
</Parent>
<Random2>
<RandomChild2 ID="1" Name="First" />
</Random2>

「親」内のものが欲しいです。使用中の属性名 (ID と名前) は、この xml の他の場所で発生するため、「親」ノードを見つけて、その子ノードの属性を選択するのが最も効率的であると考えました (より効率的なこれにアプローチする方法は私に知らせてください)。

さまざまなクエリを試しましたが、すべて初期化に失敗しました。特定のクエリをデバッグしようとしているわけではありませんが、目的を達成する方法を明確にすることを望んでいます。ここで似たような質問を十数件読んだことがありますが、それらはすべて、固有の状況に固有の回答を含む例のようであり、私が想像するのが比較的単純なプロセスであることを理解できません。

4

1 に答える 1

1
XDocument doc = XDocument.Load("input.xml");
foreach (XElement child in doc.Descendants("Parent").Elements("Child"))
{
  Console.WriteLine("Id: {1}, Name: {2}", child.Attribute("ID").Value, child.Attribute("Name").Value);
}
于 2013-11-11T21:03:06.090 に答える