How to parse XML file using CParser class
Reviewer Approved
The following example shows how to parse XML file using Symbian OS C++ class, CParser. CParser is basically a SAX (Simple API for XML)-based XML parser.
It uses an active object to read the XML file chunk by chunk (see CXmlHandler::StartParsingWithAoL() method). On each chunk, it passes the buffer to the XML parser. When the XML parser finds an element, it calls the respective callback functions, for example CXmlHandler::OnStartElementL() or CXmlHandler::OnEndElementL().
To use CParser class, the XmlFramework.lib has to be included in the .mmp file. For more information about CParser, please visit some links at the end of this page.
Contents
[hide]
1 XmlHandler.h
2 XmlHandler.cpp
3 download example
4 See Also
[edit] XmlHandler.h
#ifndef __XMLHANDLER_H__
#define __XMLHANDLER_H__
// INCLUDE FILES
#include <e32base.h>
#include <f32file.h> //Link against efsrv.lib
#include <xml\contenthandler.h> // for MContentHandler
#include <xml\parser.h> // for CParser
// CLASS DECLARATION
using namespace Xml;
class CXmlHandler: public CActive, MContentHandler
{
public: // Constructors and destructor
static CXmlHandler* NewL();
static CXmlHandler* NewLC();
virtual ~CXmlHandler();
public: // Public methods
void StartParsingWithAoL( const TDesC& aFileName );
private: // Constructors
CXmlHandler();
void ConstructL();
private: // from CActive
void DoCancel();
void RunL();
private: // from MContentHandler
void OnStartDocumentL( const RDocumentParameters &aDocParam,
&n
Ïà¹ØÎĵµ£º
£¨µÚ1Õ£©
(P1~3)1£®ÓÃ×Ô¼ºµÄÓïÑÔ¶ÔSGML¡¢HTMLºÍXML×÷¼òµ¥½éÉܺͶԱȡ£
SGML ÊÇÒ»ÖÖ²ÉÓñê¼ÇÀ´ÃèÊöÎĵµÊý¾ÝµÄͨÓÃÓïÑÔ£¬SGML¶¨ÒåÁË»ù±¾µÄÓï·¨ºÃ£¬Í¬Ê±Ò²ÔÊÐíÓû§½¨Á¢×Ô¼ºµÄÔªËØ±ê¼Ç¡£
HTML ²ÉÓÃÁ˺ÜСһ²¿·ÖSGMLµÄ±ê¼Ç£¬Í¬Ê±HTML²ÉÓõÄÊǹ̶¨±ê¼ÇÒ²²»ÐèÒª°üº¬DTD¡£
XML ͬHTMLÒ»Ñù£¬¶¼Êdzö×ÔÓÚSGML±ê׼ͨÓñê¼ÇÓï ......
CollectionÖ÷ÒªÊÇÖ¸ÏñArray, ArrayList, List, Dictionary, HashTableÕâЩÊý¾ÝÀàÐÍ£¬´ó¼ÒƽʱÓõĺܶࡣÈç¹ûÒ»¸öÀàÖÐÓÐÒ»¸öCollectionÀàÐ͵ijÉÔ±£¬ÔÚ¶ÔÕâ¸öÀà½øÐÐXMLÐòÁл¯µÄʱºò£¬Ó¦¸ÃÈçºÎ´¦Àí£¿Ó¦¸Ã˵ÔÚ.netµ±ÖÐÕâÊDZȽϼòµ¥µÄ£¬Ö»Òª½¨Á¢Ò»¸öXmlSerializerÀà¾Í¿ÉÒÔ°ïÄã×Ô¶¯¸ã¶¨£¬²»¹ýÓеÄʱºòÄã¿ÉÄÜÐèÒª¶Ô×Ô¶¯µÄÐòÁл¯¹ý³ ......
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<mce:style type="text/css"><!--
table,tr,td {
background-position: center;
border-width: 1px;
border-style: solid;
border-coll ......
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 ......
×ÖºÅ: С ÖÐ ´ó | ´òÓ¡ ·¢²¼: 2009-1-08 16:33 ×÷Õß: webmaster À´Ô´: ±¾Õ¾Ô´´ ²é¿´: 40´Î
Êé½ÓÉϻأ¬ÕâÆª½éÉÜÄǸöMContentHandlerµÄʵÏÖ£¬ÕâÊÇSAX½âÎö·½·¨µÄºËÐÄËùÔÚ¡£
ÏÈ¿´¿´ÎÒÒª½âÎöµÄXMLÎļþÈçÏÂËùʾ£¬ÆäʵºÜ¼òµ¥£¬ÒòΪËü³ýÁËEle ......