qt4.8.6解析xml

时间:2021-08-02 08:42:25

测试环境:

qt 4.8.6版本 vs2010 xml version=1.0

1、qt帮助手册查找qt方面处理xml的类

以下类是从qt的帮助手册中找到并进行了一些翻译,

1.1类翻译

QDomAttr:表示QDomElement的一个属性

QDomCDATASection:表示XML CDATA部分

QDomCharacterData:表示DOM中的通用字符串

QDomComment:表示XML注释

QDomDocument:表示XML文档

QDomDocumentFragment:QDomNodes的树,通常不是一个完整的QDomDocument

QDomDocumentType:DTD在文档树中的表示

QDomElement:表示DOM树中的一个元素

QDomEntity:表示XML实体

QDomEntityReference:表示XML实体引用

QDomImplementation:有关DOM实现的功能的信息

QDomNamedNodeMap:包含可以按名称访问的节点集合

QDomNode:DOM树中所有节点的基类

QDomNodeList:QDomNode对象的列表

QDomNotation:表示XML符号

QDomProcessingInstruction:表示XML处理指令

QDomText:表示已解析的XML文档中的文本数据

QXmlAttributes:XML属性

QXmlContentHandler:报告XML数据的逻辑内容的接口

QXmlDTDHandler:报告XML数据的DTD内容的接口

QXmlDeclHandler:报告XML数据的声明内容的接口

QXmlDefaultHandler:所有XML处理程序类的默认实现

QXmlEntityResolver:用于解析XML数据中包含的外部实体的界面

QXmlErrorHandler:用于报告XML数据中的错误的接口

QXmlInputSource:QXmlReader子类的输入数据

QXmlLexicalHandler:报告XML数据的词汇内容的接口

QXmlLocator:XML处理程序类,其中包含有关文件中解析位置的信息

QXmlNamespaceSupport:用于希望包括命名空间支持的XML阅读器的辅助类

QXmlParseException:用于使用QXmlErrorHandler接口报告错误

QXmlReader:XML读取器(即解析器)的接口

QXmlSimpleReader:实现一个简单的XML解析器

2、实现步骤

2.1、这里我用的是QXmlSimpleReader这个类,并且实现了自己的QXmlDefaultHandler子类,很多解析的操作都要在这个自己实现的子类中去完成。

自己实现的子类如下图所示:

qt4.8.6解析xml

qt4.8.6解析xml

qt4.8.6解析xml

是基本的操作,后面也可以实现增量解析如下图:

qt4.8.6解析xml

些就是最基本的xml的操作,可以根据自己的需要在虚函数中写入自己的实现就OK了。这是4.8.6版本的xml解析,在5.5.1以后用的最多的最流的形式,至于哪个好用还需要根据自己的实际情况做选择。