我正在使用XQuery tester来学习XML和XQuery。
Here是我正在测试的一个简单示例。
如果我将上面的整个xml文件复制到XQuery测试器并尝试这个xquery /bookstore/book/title
,我可以得到我想要的东西。
现在我尝试使用函数doc()
我不知道它是如何工作的。我知道这个函数需要一个参数作为xml文件。所以我认为我们需要文件的整个路径。但是在上面的例子中,它只是说我们可以像这样使用这个函数:doc("books.xml")
。我很困惑:在哪里" books.xml"?
我还尝试创建一个名为" books.xml"的xml文件。在我的电脑中传递如下参数:doc("C:\Users\lenovo\Desktop\books.xml")
但我收到了错误:Premature end of file
。
有人可以告诉我如何使用函数doc()
吗?
答案 0 :(得分:1)
函数doc()
获取URI作为参数。 URI是XML文档的名称。该XML文档作为调用函数的值返回。您的处理器可以定义从URI名称到文件系统的映射,或者存储在数据库中的文档或其他任何内容。
在您的情况下,您似乎正在通过网页使用处理器。它允许您从本地文件系统解析doc()
的可能性非常低,因为(几乎)网页无法访问主机的文件系统。
以下面板似乎允许您粘贴文档的内容(然后用于显示评估查询的结果,这有点奇怪)。
如果您需要有关dcc()
在XPath测试程序上的行为的更多详细信息,我担心您需要直接询问它们。
答案 1 :(得分:0)
您必须使用 URI 命名约定,在您的示例中为 doc("file:///C:/Users/lenovo/Desktop/books.xml")。那当然是在 Windows 中。