VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。
基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。
指定した属性値を持つノードを取得するにはナビゲータのEvaluateメソッドを使用します。このサンプルでは
検索式は、//検索するタグ[@属性名=検索値] の用に指定します。
'XPathドキュメントを作成 Dim xmlDoc As New System.Xml.XPath.XPathDocument("C:\Work\Test.xml") 'ナビゲータを作成 Dim xNavi As System.Xml.XPath.XPathNavigator = _ xmlDoc.CreateNavigator() '検索式を指定して、ヒットしたノードをiteに格納 Dim ite As System.Xml.XPath.XPathNodeIterator = _ xNavi.Evaluate("//personal_data[@id='ID00234']") 'MoveNextメソッドで取得したノードを1つずつ処理する While (ite.MoveNext()) Console.WriteLine(ite.Current.InnerXml) End While
'サンプル1で使用するXML <?xml version="1.0" encoding="utf-8"?> <address_list> <personal_data id="ID12345"> <zip>123-4567</zip> <address>東京都内</address> <name>HIRO</name> <age>34</age> </personal_data> <personal_data id="ID00234"> <zip>765-4321</zip> <address>アメリカ</address> <name>VB太郎</name> <age>28</age> </personal_data> <personal_data id="ID32401"> <zip>000-1111</zip> <address>東京都内</address> <name>C#花子</name> <age>40</age> </personal_data> </address_list>