Symbian学习笔记(16) 解析XML文件(下)
字号: 小 中 大 | 打印 发布: 2009-1-08 16:33 作者: webmaster 来源: 本站原创 查看: 40次
书接上回,这篇介绍那个MContentHandler的实现,这是SAX解析方法的核心所在。
先看看我要解析的XML文件如下所示,其实很简单,因为它除了Element和Attribute以外没有其它东西了。
<?xml version="1.0" encoding="utf-8" ?>
<channels>
<channel id="10" title="时政" >
<content id="1001" title="广东牛奶中毒事件污染源调查结果1周后公布"/>
<content id="1002" title="河南淅川公安局因儿童被拐案设'局耻日'"/>
<content id="1003" title="深圳大学135名师生感染病毒引发腹泻"/>
</channel>
<channel id="11" title="国际">
<content id="1101" title="巴以将于4月7日恢复领导人级和谈"/>
<content id="1102" title="古巴解除长期禁令允许国民入住涉外酒店"/>
<content id="1103" title="联合国决定继续对刚果(金)实行武器禁运"/>
<content id="1104" title="俄拒绝接受美国进攻性战略武器问题建议"/>
</channel>
<channel id="12" title="财经">
<content id="1201" title="大飞机公司拟定名中国商用飞机有限公司"/>
<content id="1202" title="大部制新部委定编制方案6月底前上报"/>
</channel>
</channels>
我们的解析处理器的声明如下:
#include <xmlcontenthandler.h>
#include <xmldocumentparameters.h>
using namespace Xml;
class TNewsChannel
...{
public:
TInt id;
HBufC16 * title;
};
class TNewsContent
...{
public:
TInt id;
TInt pid;
HBufC16 * title;
};
class CChannelXmlHandler : public MContentHandler ...{
public:
// Constructors and destructor
~CChannelXmlHandler();
static CChannelXmlHandler* NewL();
static CChannelXmlHandler* NewLC();
RArray<TNewsChannel>* GetChannels();
RArray<TNewsCo
相关文档:
首先将dom4j-1.6.1.jar,jaxen-1.1.1.jar两个jar包导入到项目中
reader_config.xml
<?xml version="1.0" encoding="UTF-8"?>
<config>
<db-info>
<driver-name>oracle.jdbc.driver.OracleDriver</driver-name>
<url>jdbc:oracle:thin:@192.168.1.100:1521:orcl</url>
......
1)DOM(JAXP Crimson解析器)
DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而DO ......
Xml, xslt, xsd, xpath描述一下
XML: Extensible Markup Language扩展标记语言,用来处理结构化文档。
XSLT: XSL Transformations。用来将一种XML转换成另外一种XML文档。也可以将XML转换成XHTML或者HTML在浏览器中显示。
XSD: XML Schemas Definition。用来定义XML文档的结构。XML Schema 是DTD(Document Type Definiti ......
数据库应用系统包括数据库,数据库管理系统,数据库应用三大部分。
世界上存在许多完全不同的客户平台,在不同平台间交换数据,需要保证数据的完整和服务的高效,数据格式的转换问题往往成为制约Web Service的瓶颈,采用XML作为数据交换的标准,可以使各个异构平台和各种格式的数据进行数据交换成为可能。
......
2009-10-27 22:44资料来源于网络,四种方式,大家可以自己尝试下.
=========11111=================
tinyXML
www.grinninglizard.com/tinyxml/
=========22222================================
symbian s60 第三版之后,已经提供了解析xml的系统api,采用的是SAX方式。
XML parsing in Symbian OS v9.x 来源目录:
htt ......