Qt的QXmlQuery::setQuery具有多态性,类似于:
void QXmlQuery::setQuery(const QString &sourceCode, const QUrl &documentURI = QUrl())但是,当我将一个HTML源代码传递给sourceCode,参数并尝试计算时,我只能得到一个错误:
file:///,中第2列第1行中的错误XPST0003 :语法错误,意外未知关键字,期待QName或NCName
下面是一个示例:
QString srcHTML = "<html>......</html>"; // An HTML forked from any website
QXmlQuery query;
query.setQuery(srcHTML, QUrl("/html/body/"));
QString r;
query.evaluateTo(&r);
qDebug() << r;然后,一条错误消息显示:
file:///html/body/,中第2列第1行中的错误XPST0003 :语法错误,意外未知关键字,期望QName或NCName "“
这很奇怪,尽管我已经提供了QXmlQuery::setQuery()一个有效的HTML源代码!
发布于 2019-04-07 10:35:10
使用query.setFocus(srcHTML); query.setQuery("/html/body");。请注意,setFocus的输入字符串需要格式良好的XML,而HTML通常不是。
https://stackoverflow.com/questions/55556982
复制相似问题