使用C ++更新XML nodevalue

时间:2013-05-22 06:32:38

标签: c++ visual-c++

我有一个XML,如下所示

<ROOT>
  <Device>
    <host>localhost</host>
    <Port>52000</Port>
  </Device>
  <DeviceHost>
    <Server>Server.exe</Server>
    <Port>81</Port>
  </DeviceHost>
  <Settings>
<Flag1>100</Flag1>
<Flag2>2000</Flag2>
  </Settings>
</ROOT>

如何在不使用VC ++更改其他值的情况下,分别将Flag1Flag2更新为2004000

我有两个使用api MSXML编写的函数。

 doc.LoadXml(Data);//for loading the xml data
 doc.Save(FilePath);//for saving the xml data

但我的问题是在保存之前如何更新两个节点值

1 个答案:

答案 0 :(得分:1)

您需要通过调用getElementsByTagName(它应该返回包含一个项目的NodeList)来获取正确的节点,然后调用put_nodeValue来写入值 - 有一些MSDN样本{{3 }和here

编辑:您还应该可以doc.selectSingleNode("/ROOT/Flag1", &pNode)

使用{{1}}