#ifndef XMLSTREAMREADER_H
#define XMLSTREAMREADER_H
#include <vector>
#include <QXmlStreamReader>
class XMLStreamReader
{
public:
XMLStreamReader();
bool readFile(const QString &fileName);
private:
void readBookindexElement();
void readEntryElement();
void readPageElement();
void skipUnknownElement();
public:
QXmlStreamReader reader;
std::vector<QString> vec;
};
#endif // XMLSTREAMREADER_H
#include "xmlstreamreader.h"
#include <QFile>
#include <QDebug>
XMLStreamReader::XMLStreamReader()
{
}
bool XMLStreamReader::readFile(const QString &fileName)
{
QFile file(fileName);
if(!file.open(QFile::ReadOnly | QFile::Text))
{
qDebug()<<"Open XML file Error";
return false;
}
reader.setDevice(&file);
while(!reader.atEnd())
{
if(reader.isStartElement())
{
i
qt QXmlStreamReader递归读取xml
最新推荐文章于 2023-11-30 09:00:00 发布
本文档展示了如何使用QT的QXmlStreamReader类递归读取XML文件。XMLStreamReader类定义了readFile函数,通过QXmlStreamReader逐级解析XML元素,如FY4Config、TimeIntervalList、Time等,将Time元素的值存入std::vector中。在遇到未知元素时,会调用skipUnknownElement进行跳过。示例代码中,主函数main演示了读取XML文件并打印Time元素内容的过程。
摘要由CSDN通过智能技术生成