网上有很多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>(