目录
1 常规使用
const char* declaration = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
tinyxml2::XMLDocument doc; //创建一个tinyxml2库的XMLDocument对象,表示一个完整的XML文档
doc.Parse(declaration); //将XML声明解析为XMLDocument对象的一部分
const char* chroot = "OpenDRIVE";
tinyxml2::XMLElement* root = doc.NewElement(chroot); //创建一个tinyxml2库的XMLElement指针对象
doc.InsertEndChild(root);
doc.SaveFile("output_opendrive.xodr"); //保存XML文档
示例1,对于XMLDocument对象,使用到的方法有
ToDocument()
、
NewElement()
、
NewText()
;对于XMLElement对象,使用到的方法有
SetAttribute()
、
InsertFirstChild()
、
InsertEndChild()
;对于XMLText对象,使用到的方法有
SetCData()
。
tinyxml2::XMLDocument doc;
tinyxml2::XMLDocument* _p_doc = doc.ToDocument(); //ToDocument()函数返回一个指针,它指向XMLDocument对象
tinyxml2::XMLElement* header = _p_doc->NewElement("header");
header->SetAttribute("reMajor", "1");
header->SetAttribute("revMinor", "4");
header->SetAttribute("name", "sample");
header->SetAttribute("version", "1.00");
...
tinyxml2::XMLElement* georef = _p_doc->NewElement("geoReference");
tinyxml2::XMLText* geotext = _p_doc->NewText("+proj=tmerc...+no_defs");
geotext->SetCData(true);
georef->InsertFirstChild(geotext);
header->InsertEndChild(georef);
root->InsertEndChild(header);
生成如下xml内容,
<header revMajor="1" revMinor="4" name="sample" version="1.00" date="2023-07-17T21:53:12" north="-3.07576662199571729e+01" south="3.21219889912754297e+01" east="1.55376248724678589e+01" west="-1.44333776089006278e+01" vendor="Baidu">
<geoReference><![CDATA[+proj=tmerc +ellps=WGS84 +lon_0=117 +lat_0=0 +x_0=-23022 +y_0=-4303190 +k=0.9996 +datum=WGS84 +units=m +no_defs]]></geoReference>
</header>
示例2,
版权声明:本文为YMWM_原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。