写XML基本操作
void CT1Dlg::OnBnClickedOk() { CoInitialize(0); CComBSTR indata = NULL; BSTR outdata; _bstr_t XmlFile = L"D:\\result.xml"; // xml文件 MSXML2::IXMLDOMDocumentPtr pDoc = NULL; // xml文档 MSXML2::IXMLDOMProcessingInstructionPtr pProInstruction = NULL; // xml声明 MSXML2::IXMLDOMCommentPtr pComment = NULL; // 注释 MSXML2::IXMLDOMElementPtr pRootElement = NULL, pData,pElement = NULL; // 根节点(元素) MSXML2::IXMLDOMNodePtr pNode = NULL, pNode1 = NULL, pNode2 = NULL; // 节点 MSXML2::IXMLDOMAttributePtr pAttrNode = NULL; // 属性 HRESULT hr = pDoc.CreateInstance("Msxml2.DOMDocument.4.0"); // if (FAILED(hr)) { printf("无法创建DOMDocument40对象,请检查是否安装并初始化了MsXml Parser库!"); return ; } // (1)创建xml文档声明(或insertBefore根节点) pProInstruction = pDoc->createProcessingInstruction(L"xml", L"version=\"1.0\" encoding=\"utf-8\""); pDoc->appendChild((MSXML2::IXMLDOMNode*)pProInstruction); // (2)创建根节点<result> pRootElement = pDoc->createElement(L"result"); pDoc->PutRefdocumentElement(pRootElement); pElement = pDoc->createElement(L"code"); pElement->put_text(L"0"); pRootElement->appendChild((MSXML2::IXMLDOMNode*)pElement); pElement = pDoc->createElement(L"message"); pElement->put_text(L"操作成功!"); pRootElement->appendChild((MSXML2::IXMLDOMNode*)pElement); pElement = pDoc->createElement(L"rowcount"); pElement->put_text(L"1"); pRootElement->appendChild((MSXML2::IXMLDOMNode*)pElement); //第 1 行数据 pData = pDoc->createElement(L"rowdata"); pRootElement->appendChild((MSXML2::IXMLDOMNode*)pData); pElement = pDoc->createNode((_variant_t)(long)MSXML2::NODE_ELEMENT, L"appcode", L""); pNode = pDoc->createCDATASection(L"1001 01" ); pElement->appendChild(pNode); pData->appendChild(pElement); // 字段 //第 2 行数据 pData = pDoc->createElement(L"rowdata"); pRootElement->appendChild((MSXML2::IXMLDOMNode*)pData); pElement = pDoc->createNode((_variant_t)(long)MSXML2::NODE_ELEMENT, L"appcode", L""); pNode = pDoc->createCDATASection((_bstr_t)"1002 01" ); pElement->appendChild(pNode); pData->appendChild(pElement); // 字段 pDoc->save(XmlFile); pDoc.Release() ; CoUninitialize(); }生成的文件样本 <?xml version="1.0" encoding="utf-8"?> <result> <code>0</code> <message>操作成功!</message> <rowcount>1</rowcount> <rowdata> <appcode><![CDATA[1001]]></appcode> <appname><![CDATA[test.exe]]></appname> <apptitle><![CDATA[测试系统]]></apptitle> <version><![CDATA[10]]></version> <ftpfolder><![CDATA[/update/test/]]></ftpfolder> <subfolder><![CDATA[2016.05.01.17.58.48]]></subfolder> <url><![CDATA[]]></url> <lastupdate><![CDATA[]]></lastupdate> <appargs><![CDATA[]]></appargs> <remark><![CDATA[ ]]></remark> <srcfolder><![CDATA[/source/test/]]></srcfolder> <srcsubfolder><![CDATA[2016.05.01.17.58.48]]></srcsubfolder> <dirlist><![CDATA[\pic;]]></dirlist> <filelist><![CDATA[config.ini;update32.ini;]]></filelist> <UPTYPE><![CDATA[.pbd;]]></UPTYPE> <SRCTYPE><![CDATA[.pbd;.pbl;.pbw;]]></SRCTYPE> <UCODE><![CDATA[0]]></UCODE> </rowdata> </result>