- PR -

DOMのselectNodesでXPathに変数を使いたい

1
投稿者投稿内容
むろ
会議室デビュー日: 2001/08/15
投稿数: 1
投稿日時: 2002-01-22 22:42
VBScriptでDOMを使用して、
name属性の属性値が「あああ」のelement要素の値を取り出そうとしています。
以下のように書いてみたところ「オブジェクトがありません」というエラーがでます。

typename="あああ"
MyStr=doc.documentElement.selectNodes("//element[@name=typename]").item(0).text

そこで、
MyStr=doc.documentElement.selectNodes("//element[@name=$typename]").item(0).text
としたところ、
「必要なトークン'$'が'='を検出しました」というエラーがでます。
うまくVBScriptの変数をXPathに使う方法は無いのでしょうか。
ご存知の方がおりましたら教えてください。
井上孝司
ぬし
会議室デビュー日: 2001/09/08
投稿数: 668
お住まい・勤務地: 東京都
投稿日時: 2002-01-22 22:52
selectNodes() のカッコ内に入る XPath 式を、事前に (一部ではなく) まるごと
文字列変数として生成しておいてから、MyStr= のところで、その文字列変数を
selectNodes() のカッコ内で指定するという方法では駄目ですか ?
XPath 式の一部だけを変数化しようとしてトラブっているように見えるのですが。
_________________
www.kojii.net
GUNNM
常連さん
会議室デビュー日: 2002/01/23
投稿数: 30
お住まい・勤務地: 横浜
投稿日時: 2002-01-23 13:05
しばらくVBSをいじってないし、試したわけではないので、間違っているかもしれませんが、
文字列の結合演算子(&)を使えばOKだと思います。

strA = "AAA"
strB = "BBB"
のとき、
strC = strA & strB
で、strC = "AAABBB"
となるはずです。

具体的には、
"//element[@name=typename]"

"//element[@name=" & typename & "]"
です。
GUNNM
常連さん
会議室デビュー日: 2002/01/23
投稿数: 30
お住まい・勤務地: 横浜
投稿日時: 2002-01-23 13:05


[ メッセージ編集済み 編集者: GUNNM 編集日時 2002-01-23 20:43 ]
1

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