tinyxml(三)——簡單的生成和解析示例
阿新 • • 發佈:2019-01-29
#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>