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
相关文档:
private void WriteXML()
{
StringBuilder sb = new StringBuilder();
sb.Append("<?xml version=\"1.0\" encoding=\"UTF-8\" ?> ");
sb.Append(" <!-- ");
sb.Append("<content>");
sb.Append(& ......
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 ......
(第1章)
(P1~3)1.用自己的语言对SGML、HTML和XML作简单介绍和对比。
SGML 是一种采用标记来描述文档数据的通用语言,SGML定义了基本的语法好,同时也允许用户建立自己的元素标记。
HTML 采用了很小一部分SGML的标记,同时HTML采用的是固定标记也不需要包含DTD。
XML 同HTML一样,都是出自于SGML标准通用标记语 ......
function $import(path,type,title,idname){
var s,i;
if(type=="js"){
&nb ......
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 ......