gpt4 book ai didi

c++ - Qt - QWebElement::findAll() 等效于返回无类标签内的值

转载 作者:行者123 更新时间:2023-11-28 07:10:05 24 4
gpt4 key购买 nike

我有一个 Qt 4.7 程序,我在其中使用 QWebElement 来解析 HTML 文件的部分内容。例如,如果我需要类“A”下的 HTML 部分,我将运行以下代码:

QWebView wv;
wv.page()->mainFrame()->setHTML(QString(myStringofHTMLCode);
QWebElement we(wv.page()->mainFrame()->documentElement());
QWebElementCollection elements(we.findAll(".A");

这可以正常工作并返回具有类“A”的任何标签内的所有内容。但是,现在我遇到了一个似乎无法解决的不同问题。进来的部分 HTML 有表格标签,我需要在 td 标签内单独解析表格中的所有内容。问题是,没有与之关联的类;它只是 td 标签。我尝试运行与上面类似的东西,即

QWebElementCollection elements(we.findAll("td");

作为最后一行,但它似乎不适用于内置标签。有谁知道我如何获得与 findAll() 相同的功能,除了使用 td 而不是类名?提前感谢您提供任何提示!

最佳答案

按照 QString 文档 ( http://doc.qt.io/qt-4.8/qstring.html ) 中的示例解析您的 html 内容,以适应您的问题:

QString sHtml = QString( myStringofHTMLCode );

int j = 0;

while ( ( j = sHtml .indexOf( "<td>", j ) ) != -1 )
{
int k = sHtml.indexOf( "</td>", j );
qDebug() << sHtml.mid( j, k ); // your data
++j;
}

关于c++ - Qt - QWebElement::findAll() 等效于返回无类标签内的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21148144/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com