VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。
基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。
検索式を指定してノードを取得するにはナビゲータのEvaluateメソッドを使用します。このサンプルでは、
ナビゲータのEvaluateメソッドで取得したノードリストはXPathNodeIteratorクラスとして取得し、XPathNodeIteratorが持つMoveNextメソッドで1件ずつ処理しています。
//XPathドキュメントを作成 System.Xml.XPath.XPathDocument xmlDoc = new System.Xml.XPath.XPathDocument(@"C:\Work\Test.xml"); //ナビゲータを作成 System.Xml.XPath.XPathNavigator xNavi = xmlDoc.CreateNavigator(); //検索式を指定して、ヒットしたノードをiteに格納 System.Xml.XPath.XPathNodeIterator ite = (System.Xml.XPath.XPathNodeIterator)xNavi.Evaluate("//personal_data/name"); //MoveNextメソッドで取得したノードを1つずつ処理する while (ite.MoveNext()) Console.WriteLine(ite.Current.ToString());
//サンプル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>