QDomNodeList是一个QDomNode的集合类,表示由 QDomDocument、QDomElement或QDomDocumentFragment返回的所有子节点列表。可以使用QDomNodeList中提供的方法来访问和处理这些节点。
常用的方法:
-
int count() const:返回节点列表中的节点数量。
-
QDomNode item(int index) const:返回索引为index的节点。
-
bool isEmpty() const:如果节点列表为空则返回true,否则返回false。
-
void append(const QDomNode& node):将给定的node添加到此节点列表的末尾。
-
void clear():清空当前节点列表。
-
QDomNodeList toList() const:将该节点列表转换为标准Qt容器类QList类型,并返回该容器。
示例代码:
//获取根元素下所有子元素
QDomElement root = doc.documentElement();
QDomNodeList childNodes = root.childNodes();
//遍历子元素并输出信息
for (int i = 0; i < childNodes.count(); i++)
{
QDomElement element = childNodes.at(i).toElement();
if (!element.isNull())
{
QString tagName = element.tagName();
QString textContent = element.text();
qDebug() << "Tag Name: " << tagName << " Text Content: " << textContent;
}
}
在上述示例中,我们首先获取了文档根元素,并通过childNodes()方法获取其所有子元素组成的QDomNodeList。然后我们使用count()方法得到子元素数量,再通过item()方法遍历每个子元素并打印其标签名和文本内容。