XmlDocument.SelectNodes メソッドを使用し、属性が一致した要素(ノード)を取得するサンプルコードになります。詳細はコメントを参照ください。
スポンサーリンク
使用するXMLファイル
<?xml version="1.0" encoding="utf-8" ?>
<peple>
<person id="00001">
<name>立山一郎</name>
<age>30</age>
</person>
<person id="00002">
<name>銀盤花子</name>
<age>20</age>
</person>
</peple>
XmlDocument.SelectNodes のサンプルコード
VB.NET
Dim xmlPath As String = "D:\sample.xml"
Dim xmldoc As New XmlDocument()
' XML ファイルを読み込む
xmldoc.Load(xmlPath)
' 属性 id='00002' を持つ person の name ノードリストを取得する
Dim personList As XmlNodeList = xmldoc.SelectNodes("//person[@id='00002']/name")
Console.WriteLine(personList.Count.ToString()) ' 取得したノード数を出力
For i As Integer = 0 To personList.Count - 1
Console.WriteLine(personList(i).InnerXml) ' 取得したノードの内容を出力
Next
C#
string xmlPath = @"D:\sample.xml";
XmlDocument xmldoc = new XmlDocument();
// XML ファイルを読み込む
xmldoc.Load(xmlPath);
// 属性 id='00002' を持つ person の name ノードリストを取得する
XmlNodeList personList = xmldoc.SelectNodes(@"//person[@id='00002']/name");
Console.WriteLine(personList.Count.ToString()); // 取得したノード数を出力
for(int i=0; i<personList.Count; i++) {
Console.WriteLine(personList[i].InnerXml); // 取得したノードの内容を出力
}
実行結果
1
銀盤花子
参考