易截截图软件、单文件、免安装、纯绿色、仅160KB

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


相关文档:

XML, XSLT, XSD, XPATH, XSL

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 ......

添加头文件中的xml,script,css等内容方法

function   $import(path,type,title,idname){  
          var   s,i;  
          if(type=="js"){  
         &nb ......

3.3.1 XML格式的元数据


任何ORM的解决方案都应该提供一种易读的、容易编辑的映射文件格式,而不仅仅提供一个GUI图形工具。当下流行的对象/关系元数据格式都支持XML。使用XML格式的文件可以提供如下好处:首先它是轻量级的,提供很好的易读性,能够进行版本控制,可以在部署阶段定制。
但是XML格式文件真的是最好的选择吗?Java社团中就反对XML ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号