- - PR -
属性が特定の値のみ配下の属性を取得する。
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-10-06 19:22
VBSCRIPTにてXMLの勉強を開始したばかりで初心者です。
初歩的な質問ですみません。教えてください。 以下の様な条件でデータを抽出したいとき、selectNodesでservicenameを指定すれば Servicenameが取れるところまでは判ったのですが、その配下の属性の値を 取る方法がわかりません。どなたか教えていただけませんか? 条件 devicenameタグのservicenameがCardの場合は 抽出したいデータ Deviceタグ UnitStatus属性 MediaStatusタグ Value属性 BinStatusタグ Value属性 条件 Deviceタグのservicename属性がPrinterの場合は 抽出したいデータ Deviceタグ UnitStatus属性 MediaStatusタグ Value属性 PaperStatusタグ Value属性 <device servicename="Card" UnitStatus="HEALTHY"> <MediaStatus Value="NOTPRESENT"/> <BinStatus Value="BINOK"/> <CaptureCards Value="2"/> </device> <device servicename="Printer" UnitStatus="HEALTHY"> <MediaStatus Value="PRESENT"/> <PaperStatus Value="FULL"/> <BinStatus Value="OK"/> </device> |
|
投稿日時: 2004-10-06 23:32
> selectNodesでservicenameを指定すれば
> Servicenameが取れるところまでは判ったのですが、その配下の属性の値を > 取る方法がわかりません。 木の構造上は @servicename ノードの 「直接の」配下にはなってませんね、 取りたい属性のノードは。 二つの場合で抽出したい属性は同じです、場合に分ける意味はあるのか? 現在ノードから、相対位置を参照したいのなら、XPath式をそのように書くだけ 親ノードは ディレクトリと同じく ../ http://www.cityfujisawa.ne.jp/~yanai/xml/index.html XPathってなあに [ メッセージ編集済み 編集者: MMX 編集日時 2004-10-06 23:35 ] |
|
投稿日時: 2004-10-08 00:20
アドバイスいただきありがとうございます。
>木の構造上は @servicename ノードの 「直接の」配下にはなってませんね そうですね。 Xpathの基本的な考え方を理解していませんでした。 おかげさまで出来ました。 >二つの場合で抽出したい属性は同じです、場合に分ける意味はあるのか? 今回例にあげたデータが、たまたま同じ属性のデータだったので このような結果になりました。 _________________ |
1