C++,几个小巧开源xml库

我只是找个地方标记一下,省以后忘了

 

1、CMarkup

这个只能算是半开源的。网上能下载到的CMarkup源代码,绝大多数是CMarkup 付费版的阉割版本。当然,免费版已经能满足基本的读需求,对于写需求则不能很好满足。

我只评论免费版。

CMarkup采用EDOM模型,容错性不错。可以读根节点多于一个的“非法xml文档”(xml文档根节点只有一个),例如下面的文档,CMarkup就可以处理。

<A>aaa</A>
<B>bbb</B>

CMarkup是"只进式" 的 。在我看来,CMarkup免费版的优点就是读效率很好,当然这是以增加用户出错几率为代价的。还以上面的文档为例,当CMarkup::FindElem("B")后,在CMarkup::FindElem("A"),就找不到了,只有CMarkup::Reset后才能找到。

尽管CMarkup提供了IntoElem,OutOfElem来导航,使用户可以在父、子节点间切换,但是如果用户忘了OutOfElem呢?如果真是这样,错误将不幸发生。

CMarkup免费版也不能移除节点的属性,而且在添加新节点时有一半的几率出错,也就是要么重新从根节点开始生成xml文档,要么就不要在现有xml文档中添加节点。

我的建议是,读xml使用CMarkup,写xml敬而远之。

 

2、TinyXml,TinyXml2
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值