rapidxml修改xml属性时遇到的两个问题!

在使用rapidxml修改xml属性时,可能会遇到两个问题:一是修改后原始的xml声明和注释被删除;二是获取的属性值不正确,包含了额外的xml内容。这些问题源于解析xml时的参数设置不当。要解决这两个问题,关键在于理解rapidxml的parse属性,特别是`rapidxml::parse_non_destructive`选项的使用,该选项可能导致属性值包含后续所有xml字符。正确设置参数后,可以避免这些问题并确保属性值正确处理。
摘要由CSDN通过智能技术生成

网上有很多rapidxml修改xml属性介绍,不过在拿来用时会发现,虽然属性值修改成功了,但都会出现一些问题。
1、修改后,原来的xml声明和注释被删除了,
2、获取属性值打印出来是错的,不方便对属性值做进一步的处理

问题1

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>

… <!-- 注释—>

问题2
在这里插入图片描述

ptAttr = ptMethodNode->first_attribute("type");
<method name="get" serveraddr="127.0.0.1" keyword="core" type="status" frequency="100">
			<cabinet id="1">

原本需要取type的属性,但是打印出来不是想要的期望结果

method type:status

而是把type属性后面的所有xml原文都打印出来了,打出的效果如下

method type:status" frequency="100">
			<cabinet id="1">

问题的原因都是出在rapidxml解析xml时设置的参数选项不对。

rapidxml::file<> file(FILE_PATH);
	rapidxml::xml_document<> doc;
//1、doc.parse<0>(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值