- PR -

selectNodesメソッドでの複数条件の記述方法について

1
投稿者投稿内容
へこてん
会議室デビュー日: 2006/03/12
投稿数: 7
投稿日時: 2006-03-12 13:09
初めまして。最近、初めてXMLを使うようになったのですが、
なにもわからず、こちらに質問させて頂きました。

<ROOT>
  <人>
   <名前>へこ</名前>
   <出身>東京</出身>
   <生年月日>19800812</生年月日>
   <日付>
     <月>06</月>
     <こ使い>5000</こ使い>
   </日付>
   <日付>
   <月>07</月>
     <こ使い>4000</こ使い>
   </日付>
  </人>
</ROOT>

このような構成のXMLで、
   名前:へこ
   月:07
の"こ使い"を取得しようとselecyNodeメソッドを使用したのですが、
XPATHの記述がよくないようで取得できません。
大変申し訳ありませんが何卒ご教示願い致します。

スフレ
ぬし
会議室デビュー日: 2005/05/27
投稿数: 281
お住まい・勤務地: 東京
投稿日時: 2006-03-12 13:30
まずは、ご自分がどんなXPathを書いてダメだったのかを示しましょう。丸投げは良くないです。
へこてん
会議室デビュー日: 2006/03/12
投稿数: 7
投稿日時: 2006-03-12 14:11
>>>まずは、ご自分がどんなXPathを書いてダメだったのかを示しましょう。
>>>丸投げは良くないです。

大変失礼致しました。
申し訳ありませんでした。
下記に改めて質問させて頂きます。

VBで、------------------------------------------
 Dim doc As XmlDocument = New XmlDocument
 doc.Load("c:\\\\heko.xml")
 Dim name As String = "へこ"
 Dim tuki As String = "07"
 Dim kodukai As String = "4000"
 Dim nodelist As XmlNodeList =
doc.SelectNodes("ROOT/人[名前='" & name & "'][ROOT/人/日付/月='" & tuki & "'][ROOT/人/日付/こ使い= '" & kotukai & "']/こ使い)
------------------------------------------------------
と、
このように書いていますが、さっぱり取得できません。
同じ要素内にあるものを検索対象にした場合(名前、出身)は取得することが
できたのですが、要素がそれぞれ違うものを一つのXPATHで記述する事はできるのでしょうか。



MMX
ぬし
会議室デビュー日: 2001/10/26
投稿数: 861
投稿日時: 2006-03-12 16:31
名前:へこ
月:07
の"こ使い"

ROOT/人[名前='" & name & "']/
日付[月='" & tuki & "']/
こ使い
-----------------------------
http://www.zvon.org:9001/saxon/cgi-bin/XLab/XML/extras.html
Click to select another XML source
で 入力を選んで XPATH式を入力欄に入れて submit で何回も試せます。

[ メッセージ編集済み 編集者: MMX 編集日時 2006-03-12 16:38 ]
へこてん
会議室デビュー日: 2006/03/12
投稿数: 7
投稿日時: 2006-03-12 19:58
>>>ROOT/人[名前='" & name & "']/日付[月='" & tuki & "']/こ使い

取得することができました。
これでようやく次へ進むことができます。
ご教示大変ありがとうございました。


1

スキルアップ/キャリアアップ(JOB@IT)