Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml XQuery子句不产生任何结果_Xml_Xquery_Where - Fatal编程技术网

Xml XQuery子句不产生任何结果

Xml XQuery子句不产生任何结果,xml,xquery,where,Xml,Xquery,Where,此查询的目标是打印住在旧金山的员工姓名列表 这是我写的条款: for $x in doc("data.xml")/EmpDatabase/PersonList/Person where $x/City="San Fran" order by $x/Name return $x/Name 以下是数据的模板模式(我在data.xml文件中填充了其中的数据): 但是,当我运行此命令时,命令行的行为就像查询成功,但results.xml是一个空文件 你能看一下这个,看看我在xquery文件中可能做错了

此查询的目标是打印住在旧金山的员工姓名列表

这是我写的条款:

for $x in doc("data.xml")/EmpDatabase/PersonList/Person
where $x/City="San Fran"
order by $x/Name
return $x/Name
以下是数据的模板模式(我在data.xml文件中填充了其中的数据):

但是,当我运行此命令时,命令行的行为就像查询成功,但results.xml是一个空文件

你能看一下这个,看看我在xquery文件中可能做错了什么吗?感谢您的帮助

试试看:

for $x in doc("data.xml")//PersonList/Person[City/text() ="San Fran"]
order by $x/Name
return $x/Name/text()

谢谢你的回复!但是,我相信这是因为我忘记了…/内容/。。。在where子句中的原始路径名中。再次感谢!不正确的路径不会产生错误,只会产生空结果,这是XPath和XQuery的一个常见问题。您可能会考虑使用架构感知查询处理器:导入模式和声明类型更费力,但更好的诊断非常值得。
java -jar kawa-1.9.1.jar --xquery -f emp.xquery -> results.xml
for $x in doc("data.xml")//PersonList/Person[City/text() ="San Fran"]
order by $x/Name
return $x/Name/text()