//Include#import "MSXML6.dll" rename_namespace(_T("MSXML"))#include <msxml2.h>//ReadMSXML::IXMLDOMDocumentPtr pXMLDoc; HRESULT hr = pXMLDoc.CreateInstance(__uuidof(DOMDocument30));if (FAILED(hr)){ ...}pXMLDoc->async = VARIANT_FALSE;if (pXMLDoc->load(m_strFile.GetBuffer()) == VARIANT_FALSE){ pXMLDoc.Release();}CString strText;MSXML::IXMLDOMNodePtr pParentNode = NULL;MSXML::IXMLDOMNodePtr pChildNode = NULL;MSXML::IXMLDOMNamedNodeMapPtr pNamedNodeMap= NULL;MSXML::IXMLDOMNodePtr pAttribNode= NULL; pParentNode = pXMLDoc->selectSingleNode(_T("Parent"));if (pParentNode != NULL){ pChildNode = pParentNode->selectSingleNode(_T("Child0")); if (pChildNode != NULL) { pNamedNodeMap = pChildNode->attributes; if (pNamedNodeMap != NULL) { pAttribNode = pNamedNodeMap->getNamedItem(_T("attribute0")); if (pAttribNode != NULL) { strText = (LPCTSTR)pAttribNode->text; ...; } pAttribNode = pNamedNodeMap->getNamedItem(_T("attribute1")); if (pAttribNode != NULL) { ... } } } pChildNode = pParentNode->selectSingleNode(_T("Child1")); if (pChildNode != NULL) { ... }}pXMLDoc.Release();// WriteMSXML::IXMLDOMDocumentPtr pXMLDoc; HRESULT hr = pXMLDoc.CreateInstance(__uuidof(DOMDocument30));if (FAILED(hr)){ return FALSE;}pXMLDoc->async = VARIANT_FALSE;if(pXMLDoc->loadXML(_T("<xxx></xxx>")) == VARIANT_FALSE){ pXMLDoc.Release(); return FALSE;}MSXML::IXMLDOMElementPtr pXMLRootElem = pXMLDoc->GetdocumentElement();MSXML::IXMLDOMProcessingInstructionPtr pXMLProcessingNode = pXMLDoc->createProcessingInstruction("xml", " version='1.0' encoding='UTF-16'");_variant_t vtObject;vtObject.vt = VT_DISPATCH;vtObject.pdispVal = pXMLRootElem;vtObject.pdispVal->AddRef();pXMLDoc->insertBefore(pXMLProcessingNode,vtObject);CString strText;MSXML::IXMLDOMElementPtr pXMLChild = NULL; MSXML::IXMLDOMElementPtr pXMLParent = pXMLDoc->createElement(_T("Parent"));pXMLParent = pXMLRootElem->appendChild(pXMLParent); pXMLChild = pXMLDoc->createElement(_T("Child0"));strText = xxx;pXMLChild->setAttribute(_T("attribute0"),(LPCTSTR)strText);strText = yyy;pXMLChild->setAttribute(_T("attribute1"),(LPCTSTR)strText);pXMLChild = pXMLParent->appendChild(pXMLChild);pXMLChild = pXMLDoc->createElement(_T("Child1"));strText = xxx;pXMLChild->setAttribute(_T("attribute0"),(LPCTSTR)strText);strText = yyy;pXMLChild->setAttribute(_T("attribute1"),(LPCTSTR)strText);pXMLChild = pXMLParent->appendChild(pXMLChild); ...hr = pXMLDoc->save(m_strFile.GetBuffer());if (FAILED(hr)){ ...} pXMLDoc.Release();