#ifndef O2ON_XML_H_INCLUDED
#define O2ON_XML_H_INCLUDED

#include <string>

#define XML_STATIC
#include "expat/lib/expat.h"

class XMLParser {
public:
	XMLParser() : parser(XML_ParserCreate(NULL)) {}
	virtual ~XMLParser() { XML_ParserFree(parser); }
	bool parse(const std::string& xml)
	{
		return XML_Parse(parser, xml.data(), xml.length(), 1) == XML_STATUS_OK;
	}

private:
	XMLParser(const XMLParser&);	// このクラスはコピー禁止
	const XMLParser& operator=(const XMLParser&);

protected:
	XML_Parser parser;
};









#endif /* O2ON_XML_H_INCLUDED */
