QT解析XML

版权声明:欢迎大佬们指点 https://blog.csdn.net/bloke_come/article/details/82115991

必要的准备环境:

//在QT中
//Pro中添加
Qt += xml

// 在VS中属性中添加
Qt5Xml.lib//或
Qt5Xmld.lib

//头文件
#include <QtXml/QDomElement>
#include <QtXml/QDomDocument>

解析xml有三种解析方式,分别是:

1、通过QXmlStreamReader的方式
2、通过DOM的方式
3、通过QXmlSimpleReader的方式

对第二种方式进行一个介绍:

QDomDocument doc;
QString strXMLPath = QDir::currentPath() + "/file/video.xml";
QFile file(strXMLPath);
if ( !file.open(QIODevice::ReadOnly))
    return 4;
QString strError;
int iErrCount;
int iErrLine;
if ( !doc.setContent(&file, false, &strError, &iErrLine, &iErrCount) )
{
    qDebug() << "xml error: " << strError << " line" << iErrLine
        << " count" << iErrCount;
    file.close();
    return 4;
}
// 当前主节点的第一个孩子元素   nextSibling 下一个兄弟节点  tagName()获得当前元素的名字
QDomElement element = doc.documentElement().firstChildElement("Capture_id");
qDebug() << doc.documentElement().tagName();
while (!element.isNull())
{
    qDebug() << element.text();
    return element.text().toInt();
}
return 4;

一个很简单的xml示例:
这里写图片描述

注意:
xml第一句一定要声明版本和编码格式,一般为

<?xml version="1.0" encoding="utf-8"?>

这个博客中的xml介绍很详细,三种xml解析方式都有

猜你喜欢

转载自blog.csdn.net/bloke_come/article/details/82115991
今日推荐