HIRO's.NET

VB.NET, C#, PowerShell Tipsサイト

 VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。

 基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。

HIRO's.NET RSSHIRO's.NET RSS


VB.NET 2005の開発でお困りのことはありませんか?
そんな悩みは当サイトで解決!!

HOME > VB.NET 2005 Tips > XML Tips メニュー> XPath Tips メニュー

04.検索式でヒットしたノードの件数を取得する

UPDATE:2006/07/31 

<< 前のTips  次のTips >>

 


 検索式を指定してノードを取得するにはナビゲータのEvaluateメソッドを使用します。
 ナビゲータのEvaluateメソッドで取得したノードリストはXPathNodeIteratorクラスとして取得し、XPathNodeIteratorが持つCountプロパティで件数を取得します。

 
サンプル1
'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']")

'検索式でヒットしたノードの件数を取得する
Console.WriteLine("選択したノードは" & ite.Count & "です")


 
サンプル2
'サンプル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>