libxml2解析xml文件记录

本文讨论了在使用XML时遇到的问题,即直接使用子节点无法获取节点属性,原因是XML对数据默认为文本节点。解决方法是在创建文档前调用xmlKeepBlanksDefault(0),以忽略空白字符和文本节点。此操作需在每个文档创建前执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于之前没怎么使用过xml,今天发现一个问题,直接使用子节点无法获取节点的属性,通过打印发现节点name为text,但是xml中不存在,通过上网查找由于xml对数据默认为text节点,虽然xml文档中看不到,但是在解析是存在,所以直接使用父节点的子节点可能会获取到text节点。解决方法是:

在创建doc前调用xmlKeepBlanksDefault(0);,忽略空白字符,忽略了text节点,这样解析就不存在问题,需要注意每次doc前都需要设置。

可参考资料:http://www.360doc.com/content/12/0323/14/9262861_196955765.shtml

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值