• 締切済み

XPathGraphでノードの値を取得できない

IT戦記経由で知った http://d.hatena.ne.jp/amachang/20080425/1209098271 XPathGraph http://xpath.kayac.com/ なるサービスがあります。 テストのために, Windows Live SkyDriveにアップロードした http://qfrfbw.bay.livefilestore.com/y1pR1j83PrREpBohBHZsCgD8GDU8FdFa4EArE7o6flrxaCyM3pSbtxD69QyPvue3X2p2-97-V9oNadelUXUfaHXaA/20080430-2.xml のtest要素のテキストノードを数値として扱った時の値55を取得しようと URLを打ち込み XPathを number(/test/text()) としたのですが, 値が取得できませんでした とされてしまいました。 何か条件が足りないのでしょうか?

みんなの回答

回答No.1

Exchanger XML Editorでは、 number(/test/text()) で、正しく値が取得できますが、 XPathGraphではだめですね。 いろいろ試してみたところ /* で、取得できました。 XPathGraphはperlで作ってあるみたいなのでperlのXPathを扱うライブラリの ルートノードの扱いに問題があるのかもしれませんね。 XMLを <test> <value>55</value> </test> という内容に変えて、 number(/test/value) としてみたらどうでしょうか?

himajin100000
質問者

お礼

追記(既にお礼じゃない): テストで,XPathのdocument()関数も忘れちゃいけないぜっ!

himajin100000
質問者

補足

>/* >で、取得できました。 何ででしょうね? http://qfrfbw.bay.livefilestore.com/y1pklFRcA-uEhKF3v0930rfXThcLAwbgokzmDgg2ywDv5q6NZMr-R_ehCgDwJna9zXFxvttIRv7gvAcX13leRKifxYqJBJRSedP/20080430-10.xml 用意してみました・・・が, number(/test/value) どころか /test/value すら駄目ですorz 試したい意地悪なテストケースが山ほど(zipファイル)あるのに http://cid-b89cb784f5346675.skydrive.live.com/browse.aspx/Diary/20080430?uc=1

関連するQ&A

専門家に質問してみよう