#include
#ifdef UNDER_CE
#include "Msxml.h"
#else
#import "msxml3.dll" named_guids, raw_interfaces_only, raw_native_types
using namespace MSXML2;
#endif
void main()
{
CoInitialize(NULL); // 初始化COM。
CComPtr spXMLDOM;
HRESULT hr=spXMLDOM.CoCreateInstance (_uuidof(DOMDocument));
// 创建解析器实例。
VARIANT_BOOL bSuccess=false;
hr=spXMLDOM->load(CComVariant(L"xmlfile.xml"),&bSuccess);
// 装载XML文档。
CComBSTR bstrSS(L"Device");
CComPtr spDevice;
hr=spXMLDOM->selectSingleNode(bstrSS,&spDevice); //搜索"Device"。
CComQIPtr spDev;
spDev=spDevice;
// 设置"Device"的"name"属性。
hr= spDev->setAttribute(CComBSTR(L"name"),CComVariant("测试设备"));
CComPtr spModelNode;
hr=spXMLDOM->createNode(CComVariant(NODE_ELEMENT),CComBSTR("Model"),NULL,& spModelNode); // 创建"Model"节点。
CComPtr spInsertedNode;
hr=spDevice->appendChild (spModelNode,&spInsertedNode);
// 添加新节点到"Device"节点下面。
CComBSTR strID(L"3");
hr=spInsertedNode->put_text(strID);// 设置"Model"的文本。
hr=spXMLDOM->save(CComVariant("xmlfile.xml")); //保存文档。
// CoUninitialize(); // 结束对COM的使用。
return;
}
以上是code。
msxml3.dll是windows自带的dll,可以在c盘中找到。
还有就是你的xml文件做得不够好,你可以把xml作成这样的:
***
***
***
***
........
这样xml文件的结构才够清晰,通俗易懂,添数据的时候也可以理解每个TAG里的内容是什么意思。