c++ tingxml 生成解析xml使用

生成的xml文件格式

<?xml version="1.0" encoding="gb2312" ?>
<Numbers>
    <item user="1" id="1" password="1" />                                                                                                                                         <item user="2" id="2" password="2" />                                                                                                                                         <item user="3" id="3" password="3" />                                                                                                                                         <item user="4" id="4" password="4" />
</Numbers>

生成xml文件 

int buildxml()
{	
     //写xml注释
	TiXmlDeclaration * pDeclaration = new TiXmlDeclaration("1.0", "gb2312", "");
	//创建xml文档对象
	TiXmlDocument *doc = new TiXmlDocument();
	//将xml注释加入到xml中
    doc->LinkEndChild(pDeclaration);
	//创建一个根节点
	TiXmlElement *root = new TiXmlElement("Numbers");
	//根节点链接到文档对象下
	doc->LinkEndChild(root);

    for(int i=0;i<10;i++)
    {
        char buf[12]={0};
        sprintf(buf,"%d",i+1);

		TiXmlElement *node = new TiXmlElement("item");
		root->LinkEndChild(node);
		node->SetAttribute("user", buf);
		node->SetAttribute("id", buf);
		node->SetAttribute("password", buf);
	}
	//生成xml文件,可以传路径
	doc->SaveFile(“aaa.xml”);
	delete(doc);
		
	return 0;

}

解析xml文件

int parsexml()
{

	TiXmlDocument doc;
	//解析时注意xml格式 否则会报错,utf8格式解析中文时
	if (!doc.LoadFile(“aaa.xml”))
	{
		printf("load err\n");
	}
    
	TiXmlElement *root = doc.FirstChildElement();

    for (TiXmlElement *elem = root->FirstChildElement(); elem != NULL;
            elem = elem->NextSiblingElement())
		{
			string user = elem->Attribute("user");
			string idN = elem->Attribute("id");
			string passWord = elem->Attribute("password");
		}
		
}

猜你喜欢

转载自blog.csdn.net/so_do_it/article/details/84770499