gpt4 book ai didi

html - QDomDocument 按类获取元素

转载 作者:行者123 更新时间:2023-11-30 02:50:08 24 4
gpt4 key购买 nike

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

<div class='A'>...</div>
<div class='B'>...</div>
<div class='C'>...</div>

我有一个 Qt (4.7) 程序,我需要能够根据类从中获取特定的 div。我需要在这个程序中使用 QDomDocument。我从文档中知道该类有一个函数 elementById(),但我不能让它与类一起使用,只能使用 id。这不是制作的 HTML 文件或任何东西,所以我无法控制它是类还是 ID。有没有办法做到这一点我想念的?谢谢!

最佳答案

看起来你需要这样的东西:

main.cpp

#include <QDomDocument>
#include <QDomElement>
#include <QDomNodeList>
#include <QDomAttr>

#include <QFile>
#include <QDebug>

int main()
{
QDomDocument doc("mydocument");
QFile file("mydocument.xml");
if (!file.open(QIODevice::ReadOnly))
return 1;

if (!doc.setContent(&file)) {
file.close();
return 1;
}
file.close();

QDomNodeList divNodeList = doc.elementsByTagName("div");

for (int i = 0; i < divNodeList.size(); ++i) {
QDomElement domElement = divNodeList.at(i).toElement();
QDomAttr attribute = domElement.attributeNode("class");
qDebug() << "Attribute value" << attribute.value();
if (attribute.value() == "A")
qDebug() << "Found A";
}

return 0;
}

输出

g++ -Wall -fPIC -I/usr/include/qt -I/usr/include/qt/QtCore -I/usr/include/qt/QtXml -lQt5Xml -lQt5Core main.cpp && ./a.out

关于html - QDomDocument 按类获取元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20686185/

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