我对这件事太过分了.
使用这个简单的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文件以使用use模式:
QT += xmlpatterns有线索吗?
发布于 2010-01-22 14:01:49
我记得我也遇到了麻烦.总之,我发现我使用了以下几行:
QFile SourceDocument;
SourceDocument.setFileName(rXmlFilePath);
...
Query.bindVariable("inputDocument", &SourceDocument);
QString FinalQuery("declare variable $inputDocument external;doc($inputDocument)//chapter");
Query.setQuery(FinalQuery);我希望它能对你有所帮助!
https://stackoverflow.com/questions/2110818
复制相似问题