使用Tinyxml创建和读取XML文件的优点:1,可在Windows和Linux中使用;2,方便易学,易用,可在http://sourceforge.net/projects/tinyxml/获取源代码。将其中的文件tinystr.h,tinyxml.h,tinystr.cpp,tinyxmlerror.cpp,tinyxmlparser.cpp和tinyxml.cpp拷贝到您的工程目录,即可方便使用。
下边我写了一个简单的测试程序,创建XML文件,之后从该文件中读取XML节点元素。
#include #include "tinyxml.h"
using namespace std;
#pragma warning(disable:4996)
#define XML_STR_FILE "cat.xml"
#define XML_STR_ROOT "xml-root"
#define XML_STR_CAT_INFO "cat-info"
#define XML_STR_CAT_NUM "num"
#define XML_STR_CAT_AGE "age"
#define XML_STR_CAT_COLOR "color"
#define XML_STR_CAT_NAME "name"
#define IN
#define OUT
#define RET_OK 0
#define RET_ERR -1
#define NAME_LENGTH 20
#define COLOR_LENGTH 20
#define BUF_SIZE 32
#define XML_RETURN(x) { if( RET_OK != (x) ) return RET_ERR; }
#define XML_ASSERT(x) { if( NULL == (x) ) return RET_ERR; }
struct CAT_INFO
{
CAT_INFO(): iAge(0)
{
szName[0] = '/0';
szColor[0] = '/0';
};
int iAge; //age
char szName[NAME_LENGTH]; //name
char szColor[COLOR_LENGTH]; //color
};
typedef CAT_INFO * PCAT_INFO;
class Cat_List_Info
{
public:
Cat_List_Info( bool bDel ): bIs