TinyXML 用法举例 -- 读取XML,生成XML,修改删除XML

前端之家收集整理的这篇文章主要介绍了TinyXML 用法举例 -- 读取XML,生成XML,修改删除XML前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
XML:

中文名称: 可扩展标记语言
英文名称: extensible markup language;
XML 定义:用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。(百度百科)
下载地址:http://sourceforge.net/projects/tinyxml/
将6个文件拷贝到工程目录即可。
tinystr.h
tinyxml.h
tinystr.cpp
tinyxmlerror.cpp
tinyxmlparser.cpp
tinyxml.cpp
读取XML:
TiXmlElement *RootElement = NULL;
TiXmlDocument *pDoc = NULL;
string filefullPath ="test.xml";
pDoc = new TiXmlDocument(filefullPath.c_str());
pDoc->LoadFile();
RootElement = pDoc->RootElement();
使用RootElement即可遍历所有节点

遍历XML节点:
使用XML根节点即可遍历所有节点
TiXmlElement *currentNode = RootElement->FirstChildElement();
while (currentNode)
{
//具体操作逻辑
currentNode = currentNode->NextSiblingElement();
}

遍历XML节点的属性
TiXmlAttribute *Addr = currentNode->FirstAttribute();
while (Addr)
{
printf("%s %s\n",Addr->Name(),Addr->Value());//打印属性名字和对应值
Addr = Addr->Next();
}
生成XML:
pDoc = new TiXmlDocument();
TiXmlDeclaration *pDeclaration = new TiXmlDeclaration(("1.0"),("UTF-8"),(""));
pDoc->LinkEndChild(pDeclaration);
RootElement = new TiXmlElement(("MyGUI"));
RootElement->SetAttribute("type","Resource");
RootElement->SetAttribute("version","1.1");
pDoc->LinkEndChild(RootElement);
TiXmlElement *xnode = new TiXmlElement("Resource");
xnode->SetAttribute("type","ResourceSkin");
xnode->SetAttribute("name","pig");
RootElement->LinkEndChild(xnode);
//屏幕打印XML
pDoc->Print();
结果:
<?xml version="1.0" encoding="UTF-8" ?>
<MyGUI type="Resource" version="1.1">
<Resource type="ResourceSkin" name="pig"/>
</MyGUI>

//TiXmlElement *curNode
删除节点:
RootElement->RemoveChild(curNode);

添加节点:
RootElement->LinkEndChild(curNode);

文件输出XML:
pDoc->SaveFile("myxml.xml");

猜你在找的XML相关文章