我真的很沮丧......
使用这个简单的xml:
<?xml version='1.0'?>
<root>
<data>hello</data>
</root>
这段代码
QXmlQuery xquery;
xquery.setQuery( "doc('config.xml')//data" );
if( xquery.isValid() )
{
QXmlResultItems itemResult;
xquery.evaluateTo( &itemResult );
QXmlItem item( itemResult.next() );
while( !item.isNull() )
{
QVariant value = item.toAtomicValue();
qDebug() << "One XML result!!!";
item = itemResult.next();
}
}
这段代码根本不会给我任何结果。 我已经检查过app的执行路径与config.xml的位置相同。
官方文档对我没什么帮助,似乎互联网上没有关于如何使用这个课程的详细信息。
我有另一个程序从xml成功加载数据,代码与发布的完全一样。如果找不到xml文件,甚至会抛出一个错误(当前应用程序没有发生的事情)。
当然我正在配置.pro文件以使用xmlpatterns:
QT += xmlpatterns
任何线索??
答案 0 :(得分:1)
我记得我也遇到了一些麻烦......无论如何,我发现我使用了以下几行:
QFile SourceDocument;
SourceDocument.setFileName(rXmlFilePath);
...
Query.bindVariable("inputDocument", &SourceDocument);
QString FinalQuery("declare variable $inputDocument external;doc($inputDocument)//chapter");
Query.setQuery(FinalQuery);
我希望它会对你有所帮助!