TinyXml 修改指定节点和增加节点的做法

本文介绍了使用TinyXml库来修改XML文件中指定节点的文本和属性,以及如何添加新节点。通过示例展示了如何改变Connection节点的ip和timeout属性,并提供了增加节点的方法。
摘要由CSDN通过智能技术生成

修改节点其实和查询指定节点的值有点类似,也分为两个函数,一个实现修改文本。另一个负责修改属性。

/* !
*  /brief 修改指定节点的文本。
*
*  /param XmlFile xml文件全路径。
*  /param strNodeName 指定的节点名。
*  /param strText 重新设定的文本的值
*  /return 是否成功。true为成功,false表示失败。
*/
bool ModifyNode_Text( const std:: string & XmlFile, const std:: string & strNodeName, const std:: string & strText)
{
   
// 定义一个TiXmlDocument类指针
    TiXmlDocument * pDoc = new TiXmlDocument();
   
if (NULL == pDoc)
    {
       
return false ;
    }

    pDoc
-> LoadFile(XmlFile);
    TiXmlElement
* pRootEle = pDoc -> RootElement();
   
if (NULL == pRootEle)
    {
       
return false ;
    }

    TiXmlElement
* pNode = NULL;

    GetNodePointerByName(pRootEle,strNodeName,pNode);

   
if (NULL != pNode)
    {
        pNode
-> Clear();  // 首先清除所有文本
       
// 然后插入文本,保存文件
        TiXmlText * pValue = new TiXmlText(strText);
        pNode
-> LinkEndChild(pValue);
        pDoc
-> SaveFile(XmlFile);
       
return true ;
    }
   
else
       
return false ;
}


/* !
*  /brief 修改指定节点的属性值。
*
*  /param XmlFile xml文件全路径。
*  /param strNodeName 指定的节点名。
*  /param AttMap 重新设定的属性值,这是一个map,前一个为属性名,后一个为属性值
*  /return 是否成功。true为成功,false表示失败。
*/
bool ModifyNode_Attribute( const std:: string & XmlFile, const std:: string & strNodeName,
                
const std::map < std:: string ,std:: string >
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值