加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

读取Xml: RapidXml

发布时间:2020-12-16 08:50:43 所属栏目:百科 来源:网络整理
导读:不管我们是开发 App 还是开发游戏。 视图都是一个非常重要的概念。 在App中的视图,可能是一些控件。 在游戏里,视图就是 场景,精灵等场景中的Node。 不管如何,如果有大量的控件或者场景Node需要我们去创建或者 布局,就太费劲了。 因此,有时候,我们可以

不管我们是开发 App 还是开发游戏。 视图都是一个非常重要的概念。

在App中的视图,可能是一些控件。 在游戏里,视图就是 场景,精灵等场景中的Node。

不管如何,如果有大量的控件或者场景Node需要我们去创建或者 布局,就太费劲了。


因此,有时候,我们可以用xml来配置,而程序中只需 读取这些xml文件,就方便多了。


下面介绍一种常用的 RapidXml


RapidXml :
解析xml文件
首先,通过文件读取IO流,

然后,将IO流,转换为char数组 buffer

解析buffer内的数据

创建xml doc:
xml_doument<> doc;
解析数据:
doc.parse<0>(buffer), 0 是按照默认方式进行解析
xml的 构成:
xml_node<>:
xml_attribute<>
包含关系:
xml_node<> 包含 xml_attribute<>

xml_attribute<>是 键值对的形式:
name 对应一个属性值

获取根节点:
xml_node<> *root_node = doc.first_node()

如果找某个名字的节点:
xml_node<> *nameNode = root_node->first_node("name");
找同一个名字的其它节点:
xml_node<> *anotherNode = nameNode->next_sibling();

如果找某个节点的 某个名字的属性:
方法可以参考 找某个名字的节点

得到属性的值:
调用其value方法。

——————————————————

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读