Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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
Qt QXmlQuery没有结果_Qt_Xpath_Xquery - Fatal编程技术网

Qt QXmlQuery没有结果

Qt QXmlQuery没有结果,qt,xpath,xquery,Qt,Xpath,Xquery,在Windows平台上使用Qt4.8.4,并尝试使用QXmlQuery而没有任何运气。显然,研究这个问题没有找到解决方案 这是xml文件 <?xml version="1.0" encoding="UTF-8"?> <root> <a>abc</a> <a>def</a> <a>123</a> </root> 文件已成功打开,QXmlQuery有效,但QStringList包

在Windows平台上使用Qt4.8.4,并尝试使用QXmlQuery而没有任何运气。显然,研究这个问题没有找到解决方案

这是xml文件

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <a>abc</a>
  <a>def</a>
  <a>123</a>
</root>

文件已成功打开,QXmlQuery有效,但QStringList包含0项。为什么查询不返回结果?

将XQuery从

q.setQuery("declare variable $file external;doc($file)//root");

解决了这个问题

文档中确实指出“查询的计算结果必须是xs:string值序列。如果查询的计算结果不是字符串序列,通常可以通过在XQuery末尾添加对string()的调用来转换这些值。”


只是一些猜测:您能够读取文件吗?如果更改URI的路径,是否会有所帮助<代码>file:///C:/Temp/data.xml
q.setQuery("declare variable $file external;doc($file)//root");
q.setQuery("declare variable $file external;doc($file)//root/string()");