因为Tinyxml2要比Tinyxml1更加高效和简洁,所以这次工程打算采用Tinyxml2来进行XML的解析和创建工作。
使用tinyxml2非常简单,只需要tinyxml2.h 和tinyxml2.cpp 2个文件,使用的时候需要添加:using namespace tinyxml2即可
使用。
因为网上已经有了很多XML创建成文件的例子,但是却很少有创建成XML字符串的例子,话不多说,直接上代码。
#include <iostream>
#include <map>
#include <string>
#include "tinyxml2.h"
using namespace std;
using namespace tinyxml2;
int main(int argc,char* argv[])
{
string buf;
XMLDocument doc;
XMLDeclaration* declaration=doc.NewDeclaration();
doc.InsertFirstChild(declaration);
XMLElement* root=doc.NewElement("Response");
doc.InsertEndChild(root);
XMLElement* type = doc.NewElement("Type");
type->SetText("success");
root->InsertEndChild(type);
//如果想要转换成string类型的字符串流以下是操作过程
XMLPrinter printer;
doc.Print( &printer );//将Print打印到Xmlprint类中 即保存在内存中
buf = printer.CStr();//转换成const char*类型
cout<<buf<<endl;//buf即为创建后的XML 字符串。
return 0;
}
结果如图所示: