1.在.pro文件里加上QT += xml
2. 读写文件
刚发现一个奇怪的现象,XML的节点名称第一个字符不能是数字,不然解析的判断格式错误
<?xml version='1.0' encoding='UTF-8'?>
<Root>
<countryList name="中国" continent="亚洲">
<Province name="广东" referredName="粤" >
<Zone id="1" name="广州" population="9000" />
<Zone id="2" name="深圳" population="8000" />
</Province>
<Province name="广西" referredName="桂" >
<Zone id="1" name="南宁" population="600" />
<Zone id="2" name="桂林" population="500" />
</Province>
</countryList>
</Root>
#ifndef CFILEDATA_PRASEXML_H
#define CFILEDATA_PRASEXML_H
#include <QDomDocument>
#include <QDomElement>
#include <QList>
#include <QFile>
#include <QFileDialog>
#include <QTextStream>
class Zone
{
public:
int nId;
QString sName;
QString population;
};
class Province
{
public:
Province(){
sName = "";
sReferredName = "";
m_listZone.clear();
}
~Province(){
qDeleteAll(m_listZone);
m_listZone.clear();
}
public:
QString sName;
QString sReferredName;
QList<Zone*> m_plistZone;
};
class CFileData_PraseXml
{
public:
CFileData_PraseXml();
~CFileData_PraseXml();
public:
bool ParseFileXml();
bool generateFileXml(QByteArray&arr);
private:
QString sName;
QString sContinent;
QList<Province*> m_plistProvince;
};
#endif // CFILEDATA_PRASEXML_H
#include "cfiledata_prasexml.h"
CFileData_PraseXml::CFileData_PraseXml()
{
}
CFileData_PraseXml::~CFileData_PraseXml()
{
qDeleteAll(m_plistProvince);
m_plistProvince.clear();
}
bool CFileData_PraseXml::ParseFileXml()
{
QString sFileName = QFileDialog::getOpenFileNames(this

本文介绍了在QT开发中使用QDomDocument进行XML文件的生成与解析。首先,在.pro文件中添加QT += xml以启用XML支持。接着,讨论了在XML操作中遇到的一个问题,即XML节点名称的第一个字符不能为数字,否则会导致格式错误。
最低0.47元/天 解锁文章
2168

被折叠的 条评论
为什么被折叠?



