#pragma once
#include<string> 
#include "tinyxml.h" 
using namespace std; 
class CXML
{
public:
	CXML(void);
	~CXML(void); 
  
	bool ParseXmlFile(const char* xmlFile); 
	TiXmlElement* GetElement(const char* parentTitle,const char* title);//此函数需一层一层递进
	bool getElementAttributeValue(TiXmlElement* Element,const char* AttributeName,string& reslut); 
	bool getFirstElementValue(const char* title,string& result); 
	bool getNextElementValue(const char* title,string& result); 
	TiXmlElement* getRootElement(); 
	void Clear(); 
	//////////////////////////////////////////////////////////////////////////
	TiXmlElement* addXmlRootElement(const char* title);
	TiXmlElement* addXmlChildElement(TiXmlElement* pElement,const char* title); 
	void addXmlAttribute(TiXmlElement* pElement,const char* name,const char* value); 
	void addXmlDeclaration(const char* vesion="1.0",const char* encoding="gb2312",const char* standalone=""); 
	void addElementValue(TiXmlElement* pElement,const char* value); 
	void addXmlComment(TiXmlElement* pElement,const char* Comment); 
	void saveFile(const char* file); 
protected: 
	TiXmlDocument m_xml; 
	TiXmlElement* pElement;			//	获取NextElementValue使用,属临时变量
	TiXmlElement* getFirstElement(const char* ElementMark,TiXmlElement* pcrElement); 
};
