1. 程式人生 > >tinyxml(三)——簡單的生成和解析示例

tinyxml(三)——簡單的生成和解析示例

#include <stdio.h>
#include <string>
using namespace std;

#include "../tinyxml/tinyxml.h"

int test1()
{
	TiXmlDocument xml_doc;
	/*建立*/
	//<A>a</A>
	TiXmlElement* xmlElemA = new TiXmlElement("A");
	TiXmlText* xmlTextA = new TiXmlText("a");
	xmlElemA->LinkEndChild(xmlTextA);

	//<B>b</B>
	TiXmlElement* xmlElemB = new TiXmlElement("B");
	TiXmlText* xmlTextB = new TiXmlText("b");
	xmlElemB->LinkEndChild(xmlTextB);

	//<C>c</C>
	TiXmlElement* xmlElemC = new TiXmlElement("C");
	TiXmlText* xmlTextC = new TiXmlText("c");
	xmlElemC->LinkEndChild(xmlTextC);

	xml_doc.LinkEndChild(xmlElemA);
	xml_doc.LinkEndChild(xmlElemB);
	xml_doc.LinkEndChild(xmlElemC);

	// 儲存到檔案	
	xml_doc.SaveFile("abc.xml");
	
	
	/*解析*/
	//從檔案中讀取
	TiXmlDocument xml_doc2;
	if (!xml_doc2.LoadFile("abc.xml"))
	{
		return -1;
	}

	TiXmlNode* node1 = xml_doc2.FirstChild("A");
	TiXmlNode* node2 = xml_doc2.FirstChild("B");
	TiXmlNode* node3 = xml_doc2.FirstChild("C");

	cout << "node1: " << *node1 << endl;
	cout << "node2: " << *node2 << endl;
	cout << "node3: " << *node3 << endl;
	
	return 0;
}


int main()
{

	test1();
	return 0;
}

生成的XML檔案如下:

<A>a</A>
<B>b</B>
<C>c</C>