2013-05-22 3 views
0

C++ У меня есть XML, как показано нижеОбновление XML nodevalue с

<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> 

Как я могу обновить Flag1 и Flag2 к 200 и 4000 соответственно без изменения других значений с помощью VC++?

У меня есть две функции, написанные с использованием api MSXML.

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

Но мой вопрос перед сохранением, как я могу обновить два значения узла

ответ

1

Вы должны получить правильный узел, вызвав getElementsByTagName (который должен возвращать NodeList, содержащий один пункт), а затем вызвать put_nodeValue к записать значение - есть некоторые образцы MSDN here и here

EDIT: вы также должны быть в состоянии использовать doc.selectSingleNode("/ROOT/Flag1", &pNode) согласно this MSDN article

Смежные вопросы