CCSAXParser

#ifndef __CCSAXPARSER_H__

#define __CCSAXPARSER_H__


#include "CCPlatformConfig.h"

#include "CCCommon.h"


NS_CC_BEGIN


/**

 * @addtogroup platform

 * @{

 */


typedef unsigned char CC_XML_CHAR;


class CC_DLL CCSAXDelegator

{

public:

    virtual void startElement(void *ctx, const char *name, const char **atts) = 0;

    virtual void endElement(void *ctx, const char *name) = 0;

    virtual void textHandler(void *ctx, const char *s, int len) = 0;

};


class CC_DLL CCSAXParser

{

    CCSAXDelegator*    m_pDelegator;

public:


    CCSAXParser();

    ~CCSAXParser(void);


    bool init(const char *pszEncoding);

    bool parse(const char* pXMLData, unsigned int uDataLength);

    bool parse(const char *pszFile);

    void setDelegator(CCSAXDelegator* pDelegator);


    static void startElement(void *ctx, const CC_XML_CHAR *name, const CC_XML_CHAR **atts);

    static void endElement(void *ctx, const CC_XML_CHAR *name);

    static void textHandler(void *ctx, const CC_XML_CHAR *name, int len);

};


// end of platform group

/// @}


NS_CC_END


#endif //__CCSAXPARSER_H__


posted @ 2014-05-23 10:32  sssssnian  阅读(129)  评论(0)    收藏  举报