windows客户端开发--使用tinyxml库解析xml文件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了windows客户端开发--使用tinyxml库解析xml文件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1934字,纯文字阅读大概需要3分钟。
内容图文
![windows客户端开发--使用tinyxml库解析xml文件](/upload/InfoBanner/zyjiaocheng/1211/7f423b89a2f749bbb56ad2766fd5aa34.jpg)
例如,微信windows客户端使用的duilib库中,界面就是用xml进行描述的。
所以,今天我们就来谈一谈windows客户端中,也就是C++中如何解析xml。
很多时候,我们都使用.ini文件来存储一些数据。
xml确实是有很多的优点,某种程度上来说也确实可以完全取代ini,但也并非如有些人鼓吹的处处都比ini强。
xml,对于描述复杂的数据结构非常的方便,缺点相对ini使用麻烦一点。在表达较短的配置时,没有ini简练。而且因为它有比较严格的格式审查机制,容错性也不是特别好,在手写时容易出现错误。抛开配置的功能,作为存储传输数据的手段,xml还有个缺点就是它的处理和存储的效率非常低下,解析速度慢,占用更多的存储空间。
ini,通常用于对软件的参数进行配置和记录。优点是使用方便,嵌入程序也容易,几个接口就够了,很容易掌握。配置文件更小巧,手工配置也更容易。缺点是它的结构只有2层,对于复杂类型数据描绘就显得比较无力了。另外ini文件有64kb的大小限制。
对于很小的简单配置来说,ini无疑是一种更简练,方便的实现方式。而xml则适合应付更复杂的需求。
如何读写ini文件,我们之前的博客已经介绍过了,windows系统给我们提供了api。
现在就来讲讲如何解析xml.
这里,我们使用一个开源库叫做tinyxml
源码:
https://sourceforge.net/projects/tinyxml/点击打开链接。
源代码不长,我们可以直接引入源代码。
首先我们写一个xml。这里需要注意的是,推荐使用notepad++,而不是使用windows自带的记事本。
创建一个xml,test.xml
<?xml version="1.0" encoding="utf-8"?> <Strings> <!--system button--> <String> <StringKey>MinimizeTips</StringKey> <StringValue>最小化</StringValue> </String> <String> <StringKey>MaximizeTips</StringKey> <StringValue>最大化</StringValue> </String> <Strings>
接下来,我们就是要把上面的xml读取出来,并以key-value的形式存入map中。map的使用我们也不再赘述,之前的博客有有过介绍。
首先是创建一个XMLDocument的对象;
然后就是通过xml的路径,导入文件
可以使用RootElement获得根节点
可以使用FirstChildElement获得第一个子节点
可以使用NextSiblingElement获得下一个节点
可以使用GetText方法获得节点中的字符串
void ReadXmlToMap(const std::string& path, std::map<std::string, std::string>& string_map) { tinyxml2::XMLDocument doc; doc.LoadFile(path.c_str()); tinyxml2::XMLElement *root = doc.RootElement(); tinyxml2::XMLElement *node = root->FirstChildElement("String"); while (node) { tinyxml2::XMLElement *key_element = node->FirstChildElement(); tinyxml2::XMLElement *value_element = key_element->NextSiblingElement(); string_map.insert(std::pair<std::string, std::string>(key_element->GetText(), value_element->GetText())); node = node->NextSiblingElement(); } }
原文:http://blog.csdn.net/wangshubo1989/article/details/50958884
内容总结
以上是互联网集市为您收集整理的windows客户端开发--使用tinyxml库解析xml文件全部内容,希望文章能够帮你解决windows客户端开发--使用tinyxml库解析xml文件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。