首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Qt中解析XML字符串

在Qt中解析XML字符串,可以使用Qt的XML模块,包括QDomDocument、QDomElement、QDomNode等类。下面是一个简单的示例代码:

代码语言:c++
复制
#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文档、添加元素和属性、修改元素和属性等。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

13分14秒

05-XML & Tomcat/29-尚硅谷-Tomcat-如何在IDEA中启动部署web模板

7分5秒

MySQL数据闪回工具reverse_sql

领券