none
XQuery の実行方法がわからない。 RRS feed

  • 質問

  •  

    次のページにある XQuery のサンプルを Visual Basic 2005 Express で実行させようとしています。

     

    http://www.atmarkit.co.jp/fxml/tanpatsu/19quip/quip01.html

     

          Dim objXPathDoc As New Xml.XPath.XPathDocument("Test.xml")
            Dim objXNvg As Xml.XPath.XPathNavigator = objXPathDoc.CreateNavigator

            Dim strXQuery As String = _
                "for $i in " + vbCrLf + _
                "document(""Test.xml"")//project[count(members/member)>=2] " + vbCrLf + _
                "return " + vbCrLf + _
                "<result><project name=""{$i/name/text()}"" /> " + vbCrLf + _
                    "<members>{$i//member/name}</members> " + vbCrLf + _
                "</result>"

            Dim objNodes As Xml.XPath.XPathNodeIterator = _
                objXNvg.Select(strXQuery)

            Do While objNodes.MoveNext
                Debug.Print(objNodes.Current.Value + vbCrLf)
            Loop

    このようなコードなのですが、Select メソッドところで “トークンが無効です。”というエラーが発生し、実行できません。

     

    Visual Basic 2005 Express の XPath パッケージは、XQuery 1.0 に準拠しているという記述がヘルプにあったので実行できるはずなのですが。。。。。

     

    どのなたか分かる方、おりましたら書き込みお願いします。

     

    2007年7月22日 13:34

すべての返信

  • den256さんこんにちは

    MSDNのXPath構文リファレンスを見てもfor in がなかったので、FLWR式が使えないのかも知れません。

    単純な式(//member/name)では動作していました。

     

     

    2007年7月23日 6:51
  •  

    そうですね。XPath であれば機能するみたいですね。

     

    すると XQuery 1.0 が使用できるというのはどういう意味なのでしょうか?

     

    2007年7月27日 16:32