首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试使用QXmlQuery从XML文档中获取字符串

尝试使用QXmlQuery从XML文档中获取字符串
EN

Stack Overflow用户
提问于 2016-01-18 10:08:00
回答 1查看 733关注 0票数 1

从一个简单的XML文件开始:

代码语言:javascript
复制
<?xml version="1.0"?>
<playlist>
    <name>1 - first playlist</name>

    <song>Daft Punk\Discovery\Daft Punk-Discovery-01-One More Time.mp3</song>
</playlist>

我发现:

我试着提取播放列表的名字,所以我试着:

代码语言:javascript
复制
QFile source(filePath);
source.open(QIODevice::ReadOnly | QIODevice::Text);
QXmlQuery query(QXmlQuery::XSLT20);
query.setFocus(&source);
query.setQuery("string(//name)", QUrl(filePath));

QString result = "";
query.evaluateTo(&result);

qDebug() << result;

source.close();

filePath是在此方法中传递的QString。

不管我做什么,我都会从正在加载的文件中得到"Parse error: start tag“,而没有结果。当我检查文件中的内容时,它看起来是正确的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-20 13:04:51

使用QXmlQuery query(QXmlQuery::XSLT20); --您请求的是XSLT而不是XPath或XQuery --我怀疑当库试图将提供的XPath或XQuery表达式解析为XML文档时(因为XSLT是XML,XPath或XQuery不是XML),就会得到描述的错误。因此,只需使用默认构造函数或显式地将语言设置为QXmlQuery::XQuery10

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34852028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档