VC操作XML相关知识

来源:互联网 发布:乐易编程网 编辑:程序博客网 时间:2024/06/09 17:21

http://www.cnblogs.com/sadier/articles/99875.html

 

http://blog.csdn.net/max2008/article/details/1647613

 

首先需要先安装MSXML4运行库

还需要导入一个MSXML4.dll

再就是在调用前初始化COM库

::CoInitialize(NULL);

 

 CoUninitialize();

 

核心代码:

 

MSXML2::IXMLDOMDocumentPtr pDoc;MSXML2::IXMLDOMElementPtr xmlRoot;HRESULT hr=pDoc.CreateInstance(_uuidof(MSXML2::DOMDocument40));//先要创建DOC对象if(!SUCCEEDED(hr)){MessageBox( " 无法创建DOMDocument对象,请检查是否安装了MS XML Parser 运行库! " ); return  ;}xmlRoot=pDoc->createElement((_bstr_t)"Book");//再创建根结点,一个XML只能有一个根结点xmlRoot->setAttribute("id","12345");pDoc->appendChild(xmlRoot);MSXML2::IXMLDOMElementPtr pNode;pNode=pDoc->createElement((_bstr_t)"Author");pNode->Puttext((_bstr_t)"an jia");xmlRoot->appendChild(pNode);pNode=pDoc->createElement("Title");pNode->Puttext("na na");xmlRoot->appendChild(pNode);pDoc->save(".\\Web\\test.xml");MessageBox("df");


 

读取XML文件查找指定结点:

MSXML2::IXMLDOMDocumentPtr pDoc;MSXML2::IXMLDOMElementPtr xmlRoot,node;HRESULT hr=pDoc.CreateInstance(_uuidof(MSXML2::DOMDocument40));if(!SUCCEEDED(hr)){MessageBox( " 无法创建DOMDocument对象,请检查是否安装了MS XML Parser 运行库! " ); return  ;}pDoc->load(".\\Web\\test.xml");//加载XML文件MessageBox(pDoc->xml);xmlRoot=pDoc->GetdocumentElement();//获取的是整个XML的唯一根结点node=xmlRoot->selectSingleNode((_bstr_t)"//CAM2");//根据名字查找指定结点。。。前面的//指的是在任一根下MessageBox(node->xml);xmlRoot->removeChild(node);//删除查找到的根结点。