tinyxml是一个小巧的c++ xml库,很容易嵌到工程中,使用起来也很方便,小弟不才,拿出一点基础的用法和大家讨论一下,有错误大家指正一下。
为了方便使用,我把tinyxml编译成了一个静态库,当然也可以把源文件考到工程中,主要的有
tinyxml.h
tinystr.h
tinyxmlerror.cpp
tinystr.cpp
tinyxmlparser.cpp
tinyxml.cpp
这几个文件。
-----------------------------------------
下面说说 xml 结构,如果很熟了,就跳过这段吧:)
<?xml version="1.0" encoding="uft-8" standalone="yes"?>
<root>
<Item>text</Item>
</root>
上面是一个简单的xml,第一行是xml的描述,然后是一个根结点,一个子节点,和一个文本节点。
在xml中节点(文本除外)被叫做Element,上面也可以说成:
一个根element root下有一个子element Item,
子element Item下有一个文本节点 text。
如果能清楚的认识xml结构,那么下面的代码就很容易理解了。
如果对xml的结构不太了解,可以在网上搜“xml, dom”的相关内容了解。
----------------------------------------
下面看看tinyxml的类层次图(class Hierarchy)
我这篇要用到的类 TiXmlDeclaration,TiXmlDocumnet,TiXmlElement都是继承于TiXmlNode。
了解类层次图在OO编程中很重要。
------------------------------------
下面就开始创建我们第一个XML文件吧!看代码
TiXmlDocument doc; //创建一个文档类
TiXmlDeclaration* dec = new TiXmlDeclaration("1.0","",""); //创建一个描述,构造参数(version,encoding,standalone)
TiXmlElement* rootElement = new TiXmlElement("root"); //创建一个根element root
TiXmlElement* itemElement = new TiXmlElement("Item"); //创建一个子 element Item
TiXmlText* text = new TiXmlText("text"); //创建一个文本节点text
itemElement->LinkEndChild(text); //将文本节点添加到Item element下
rootElement->LinkEndChild(itemElement);//将Item element添加到root element下
doc.LinkEndChild(dec);//文档添加描述
doc.LinkEndChild(rootElement);//文档添加root element
doc.SaveFile("new.xml");//保存到文件new.xml
好了,代码运行成功就可以看到程序生成了一个xml文件,内容为
<?xml version="1.0" ?>
<root>
<Item>text</Item>
</root>
-------------------------
最后留个给c++入门者个问题:
为什么我new出来的对象没有delete,难道不会内存泄露吗?!
-------------------------
完!
原文链接: https://www.cnblogs.com/guawoo/archive/2012/01/06/2315173.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/39812
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!