Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1342688
  • 博文数量: 244
  • 博客积分: 1039
  • 博客等级: 少尉
  • 技术积分: 1562
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-06 09:40
文章分类

全部博文(244)

文章存档

2021年(2)

2019年(6)

2018年(2)

2014年(1)

2013年(187)

2012年(47)

分类: LINUX

2013-06-05 16:40:40

Qt中的QtXml模块提供了两组不同的API用于读取XML文档

SAX(Simple API for XML):通过virtual function直接向应用程序报告"parsing event“。
DOM(Document Object Model):将XML文档转换为树型结构。

SAX接近底层,速度更快;DOM更便于使用。

15.1    Readin XML with SAX

SAX是事实上的读取XML文档的标准API,Qt中的SAX类仿照了Java中的SAX2的实现。

Qt提供了一个SAX-based的non-validateing类型的XML解析器QXmlSimpleReader。解析器在读取文档时,会调用其注册的handler class中的virtual function。

Qt为QXmlSimpleReader提供了若干handler class,对于大多数应用,只需要使用QXmlContentHandlerr和QXmlErrorHandler。

Qt提供了一个对程序员很方便的QXmlDefaultHandler,它对所有的handler class都进行了派生,并对所有virtual function提供了简单的实现。

要使用QtXml库,需要在.pro文件中加入下面一行: "QT   +=xml"

15.2    Reading XML with DOM

DOM是由W3C制订的解析XML的标准API,Qt提供了一个non-validating类型的DOM level 2级别的实现,可用于XML文档的读写以及其他操作。

DOM在内存中将XML文件表示为树的形式。

QDomDocument::setContent(),设定要读取的XML文档。


15.3    Writing XML

Qt中存在两种生成XML文档的方法

1).    构建一个DOM tree,并对其调用save()
2).    手动输出XML格式

两种方式之间的选择独立于读取XML文档时选择SAX或是DOM

默认情况下,QDomDocument::save()生成文档时采用UTF-8编码格式。
阅读(2495) | 评论(0) | 转发(0) |
0

上一篇:Q_PROPERTY

下一篇:重定向(C语言)

给主人留下些什么吧!~~