MFC里可以直接使用DOM,不需要手动添加额外的头文件,只需要在CWinApp::InitInstance()里调用CoInitialize(NULL)初始化COM,在CWinApp::ExitInstance里调用CoUninitialize()释放COM就行了。
XML
<root>
<childnode>
<test attribut1=" att1" attribut2="att2" attribut3="att3"attribut4="att4"/>
</childnode>
</root>
//
//修改attribut4的值
CComPtr<IXMLDOMDocument> pDoc; HRESULT hr= pDoc.CoCreateInstance(CLSID_DOMDocument); if (FAILED(hr)) { return S_FALSE; } VARIANT_BOOL varBool; COleVariant oleXmlFile=xmlFile; //cstring xmlFile xml文件的路径 pDoc->load(oleXmlFile,&varBool); CComPtr<IXMLDOMNodeList> pNodeList; pDoc->getElementsByTagName(L"test",&pNodeList); //找到test元素 CComPtr<IXMLDOMNode> pNode; long nLen; pNodeList->get_length(&nLen); pNodeList->get_item(0,&pNode); CComBSTR bstrName; pNode->get_nodeName(&bstrName); //得到节点名称“test” CComPtr<IXMLDOMNamedNodeMap> pNamenodeMap; pNode->get_attributes(&pNamenodeMap); //得到节点的所有属性 CComPtr<IXMLDOMNode>pAttribNode; pNamenodeMap->get_item(3,&pAttribNode); //得到attribut4属性,也是一个IXMLDOMNode类型 pAttribNode->get_nodeName(&bstrName); //得到节点名称“attribut4” pAttribNode->put_nodeValue(olePlmPwd); //修改属性值 pDoc->save(oleXmlFile); //保存 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|