首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用QWebkit检索具有特定类的div

使用QWebkit检索具有特定类的div
EN

Stack Overflow用户
提问于 2013-12-19 19:35:22
回答 1查看 128关注 0票数 1

我在下面发布了这个问题,试图使用QDomDocument类。有人建议我改用QWebkit,但我很困惑如何使用QWebkit。我以前从未用过它,所以我对它不太确定。有人能给我提点建议吗?谢谢!对于记录,函数使用的是一个QByteArray,当转换为文本时,它是一个标准的HTML。

原题:

在HTML文件中有几个div具有不同的类,如下所示:

代码语言:javascript
复制
<div class='A'>...</div>
<div class='B'>...</div>
<div class='C'>...</div>

我有一个Qt (4.7)程序,在这个程序中,我需要能够根据类得到一个特定的div。我需要在这个程序中使用QDomDocument。从文档中我知道这个类有一个函数elementById(),但是我不能让它处理类,只是ids。这不是一个HTML文件,是一个已创建的文件,所以我无法控制它是类还是id。我错过了什么方法吗?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-19 20:01:58

.pro

代码语言:javascript
复制
QT += webkitwidgets

main.cpp

代码语言:javascript
复制
#include <QApplication>
#include <QDebug>
#include <QWebView>
#include <QWebFrame>
#include <QWebElement>

int main( int argc, char *argv[] ) {
    QApplication a(argc, argv);

    QString l_html( "<html><body>"
                    "<div class='A'>div with class A</div>"
                    "<div class='B'>div with class B</div>"
                    "<div class='C'>div with class C</div>"
                    "<span class='A'>span with class A</span>"
                    "</body></html>" );

    QWebView l_webView; // you can skip the QWebView if you dont want to show any widget
    l_webView.page()->mainFrame()->setHtml( l_html );
    QWebElement l_root( l_webView.page()->mainFrame()->documentElement() );
    QWebElementCollection l_elements( l_root.findAll( ".a" ) );

    foreach ( QWebElement l_e, l_elements ) {
        // do what you want here
    }

    return a.exec();
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20690202

复制
相关文章

相似问题

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