tinyxml 直接通过路径定位到节点的方法

Uncle_higo 2017-11-23 03:55:49
刚用tinyxml不久,看了些例子,读取的方式一般都是一级一级的遍历节点,找到一个节点就往下一级继续遍历

xml层级过深的时候,就会导致,好几层for循环 或者while循环 ,太乱了,不知道有没有方法可以直接通过路径的方式定位到节点,我的目标xml有一个特点就是每个有并列类型节点都有一个id 的attribute

例如
<A id="abc">
<B id="1">
<C id ="a">
</C>
<B>
<B id="2">
<C id ="a">
</C>

<B>
</A>


我想直接通过一个路径abc/2/a 就定位到 红色的节点


如果tinyxml没有太直接的方法,请问我自己实现的话大概是个什么思路呢,有没有例子程序之类的,谢谢大家
...全文
451 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2017-12-07
  • 打赏
  • 举报
回复
不比不知道一比吓一跳。
Uncle_higo 2017-12-07
  • 打赏
  • 举报
回复
引用 7 楼 chengbar 的回复:
pugixml 效率高,好用,跨平台,支持Unicode,推荐一下
感谢,看了下介绍确实不错
sevancheng 2017-11-29
  • 打赏
  • 举报
回复
pugixml 效率高,好用,跨平台,支持Unicode,推荐一下
Uncle_higo 2017-11-23
  • 打赏
  • 举报
回复
引用 3 楼 iloveyou418 的回复:
Cmark xml 我一般用这个。。。简单适用
我竟然没有搜到这个库
Uncle_higo 2017-11-23
  • 打赏
  • 举报
回复
另外楼上有提到的XPATH ,我例子中其实路径是根据节点的 属性里面的 id 定义路径的,而不是按照节点名 也就是说我的路径是 abc/2/a 而不是 A/B 这样的 ,所以可能即便xpath也不符合我的需要,难道只能听自己写路径解析函数了吗?
Uncle_higo 2017-11-23
  • 打赏
  • 举报
回复
或者是不是 c# 会有现成的库好用一点,不一定非得c++ ,我只是c++用惯了,其他能行也可以啊c# java 哪怕vba可以也行,我vb脚本也比较熟
CT8100 2017-11-23
  • 打赏
  • 举报
回复
Cmark xml 我一般用这个。。。简单适用
Uncle_higo 2017-11-23
  • 打赏
  • 举报
回复
引用 1 楼 chengbar 的回复:
tinyxml 好像不支持 XPath 换一个库吧
所以请问哪个库会支持并相对易用一些呢,我的需求不太复杂,不需要太多功能
sevancheng 2017-11-23
  • 打赏
  • 举报
回复
tinyxml 好像不支持 XPath 换一个库吧

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧