本文整理汇总了C++中msxml2::IXMLDOMDocumentPtr::Putasync方法的典型用法代码示例。如果您正苦于以下问题:C++ IXMLDOMDocumentPtr::Putasync方法的具体用法?C++ IXMLDOMDocumentPtr::Putasync怎么用?C++ IXMLDOMDocumentPtr::Putasync使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类msxml2::IXMLDOMDocumentPtr
的用法示例。
在下文中一共展示了IXMLDOMDocumentPtr::Putasync方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SaveToXml
//保存项目
BOOL CUpdateBuilderDlg::SaveToXml(LPCTSTR pszFilePath)
{
ASSERT(pszFilePath!=NULL);
if (pszFilePath == NULL)
return FALSE;
HRESULT hr = S_OK;
MSXML2::IXMLDOMDocumentPtr pXmlDoc;
MSXML2::IXMLDOMElementPtr pRoot, pFileList, pFileNode;
_variant_t vFileName, vFileSize, vFileVersion, vMD5Key;
try
{
hr = pXmlDoc.CreateInstance(__uuidof(MSXML2::DOMDocument30));
if( FAILED( hr ) )
_com_issue_error(hr);
pXmlDoc->PutpreserveWhiteSpace(VARIANT_TRUE);
pXmlDoc->Putasync(VARIANT_FALSE);
pXmlDoc->appendChild(pXmlDoc->createProcessingInstruction("xml", "version='1.0' encoding='UTF-8'"));
pRoot = pXmlDoc->createElement("manifest");
pRoot->setAttribute("version", "1.0");
pRoot->setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema");
pXmlDoc->appendChild(pRoot);
pFileList = pXmlDoc->createElement("filelist");
pFileList->setAttribute("checksummode", "default");
for( int i = 0; i < m_FileListCtrl.GetItemCount(); i++ )
{
vFileName = m_FileListCtrl.GetItemText(i, 0);
vFILEVERSION 2,0,0,0
vMD5Key = m_FileListCtrl.GetItemText(i, 3);
vFileSize = (ULONG)m_FileListCtrl.GetItemData(i);
pFileNode = pXmlDoc->createElement("file");
pFileNode->setAttribute("filename", vFileName);
pFileNode->setAttribute("filesize", vFileSize);
pFileNode->setAttribute("fileversion", vFileVersion);
pFileNode->setAttribute("md5", vMD5Key);
pFileList->appendChild(pFileNode);
}
pRoot->appendChild(pFileList);
hr = pXmlDoc->save(pszFilePath);
if( FAILED( hr ) )
_com_issue_error(hr);
return TRUE;
}
catch(_com_error& e)
{
CString strError;
strError.Format(_T("Error code:%d\nError Message:%s\nError Description:%s"),
(int)e.WCode(), e.ErrorMessage(), (char*)e.Description());
MessageBox(strError, _T("错误"),MB_OK|MB_ICONSTOP);
}
return FALSE;
}