在Qt中解析XML字符串,可以使用Qt的XML模块,包括QDomDocument、QDomElement、QDomNode等类。下面是一个简单的示例代码:
#include <QCoreApplication>
#include <QDebug>
#include <QDomDocument>
#include <QString>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QString xmlString = R"(
<root>
<item id="1">
<name>Item 1</name>
<value>Value 1</value>
</item>
<item id="2">
<name>Item 2</name>
<value>Value 2</value>
</item>
</root>
)";
QDomDocument doc;
if (!doc.setContent(xmlString)) {
qDebug() << "Failed to parse XML string";
return 1;
}
QDomElement root = doc.documentElement();
QDomNodeList items = root.elementsByTagName("item");
for (int i = 0; i< items.count(); ++i) {
QDomElement item = items.at(i).toElement();
int id = item.attribute("id").toInt();
QString name = item.firstChildElement("name").text();
QString value = item.firstChildElement("value").text();
qDebug() << "Item" << id << ":"<< name << "="<< value;
}
return 0;
}
在这个示例中,我们首先创建了一个QDomDocument对象,并使用setContent方法将XML字符串解析到该对象中。然后,我们使用documentElement方法获取XML文档的根元素,并使用elementsByTagName方法获取所有名为"item"的子元素。对于每个子元素,我们使用attribute方法获取其属性值,使用firstChildElement方法获取其子元素的文本内容,并将其打印到控制台上。
这只是一个简单的示例,实际上Qt的XML模块还提供了更多的功能,例如创建XML文档、添加元素和属性、修改元素和属性等。
领取专属 10元无门槛券
手把手带您无忧上云