本文整理汇总了C++中msxml2::IXMLDOMDocumentPtr::loadXML方法的典型用法代码示例。如果您正苦于以下问题:C++ IXMLDOMDocumentPtr::loadXML方法的具体用法?C++ IXMLDOMDocumentPtr::loadXML怎么用?C++ IXMLDOMDocumentPtr::loadXML使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类msxml2::IXMLDOMDocumentPtr
的用法示例。
在下文中一共展示了IXMLDOMDocumentPtr::loadXML方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setBuffer
BOOL APBuf::setBuffer(BSTR str, MSXML2::IXMLDOMDocumentPtr & xml)
{
xml.CreateInstance(_T("Msxml2.DOMDocument"));
xml->async = VARIANT_FALSE; // default - true,
//vytvoreni XML DOM z nacteneho XML stringu
CDirectoriesManager & m = ((CReportAsistentApp *) AfxGetApp())->m_pGeneralManager->DirectoriesManager;
CString str_b = str;
CFile f;
f.Open(m.getXMLFilesDirectory() + "\\plug_out_example1.xml", CFile::modeWrite |CFile::modeCreate);
f.Write((LPCTSTR) str_b, str_b.GetLength());
f.Close();
HRESULT hRes=xml->loadXML(str);
if (xml->parseError->errorCode != S_OK)
{
if ((str == NULL) || (* str == 0)) return FALSE;
CReportAsistentApp::ReportError(IDS_SIMPLE_FILTER_FAILED_SOURCE_LOAD, (LPCTSTR) xml->parseError->reason);
xml.Release();
xml = NULL;
return FALSE;
}
return TRUE;
}
示例2: NotifyHandler
/*
* Private method that loads XML into an MSXML DomDocument object and passes
* this object to the event handler.
*/
bool XMPPXMLParser::NotifyHandler(const UTF32String& stanzaName)
{
bool continueParsing;
FixXMLNS();
MSXML2::IXMLDOMDocumentPtr xmlDoc;
xmlDoc.CreateInstance(CLSID_DOMDocument);
BOOL bSuccess = xmlDoc->loadXML(
_bstr_t(UTF::utf32to16(m_ParsedData).c_str()));
if(bSuccess)
{
m_Handlers.OnStanza(
xmlDoc, _bstr_t(UTF::utf32to16(stanzaName).c_str()));
continueParsing = true;
}
else
{
m_Logger.LogLoadXMLError(xmlDoc, UTF::utf32to16(m_ParsedData));
continueParsing = false;
}
return continueParsing;
}
示例3: saveStylesToXML
// saves a list of Word styles to configutation XML file
BOOL CWordManager::saveStylesToXML(LPCTSTR file_path)
{
CString XMLString = "";
XMLString += "<word_styles>";
XMLString += "<templates>";
XMLString += m_WordTemplates.getItemsInXML();
XMLString += "</templates>";
XMLString += "<paragraph_styles>";
XMLString += m_WordParagraphStyles.getItemsInXML();
XMLString += "</paragraph_styles>";
XMLString += "<character_styles>";
XMLString += m_WordCharacterStyles.getItemsInXML();
XMLString += "</character_styles>";
XMLString += "</word_styles>";
CString FName; // jmeno (cesta) ke konfig. souboru
FName = file_path;
MSXML2::IXMLDOMDocumentPtr pXMLDom; // koren XML stromu
HRESULT hr;
//Vytvori COM objekt (resp. instanci objektu)
hr = pXMLDom.CreateInstance(_T("Msxml2.DOMDocument"));
if (FAILED(hr))
return FALSE;
pXMLDom->async = VARIANT_FALSE;
//nacti DOM ze stringu
if ( pXMLDom->loadXML((_bstr_t) XMLString) != VARIANT_TRUE)
{
pXMLDom.Release();
return FALSE;
}
BOOL ret = FALSE;
try
{
ret = S_OK == pXMLDom->save((LPCTSTR) FName);
}
catch(...)
{
ret = FALSE;
}
pXMLDom.Release();
return ret;
}
示例4: LoadXML
CyNode CyDoc::LoadXML(const std::wstring& lpContent)
{
MSXML2::IXMLDOMDocumentPtr spDoc;
try
{
spDoc = GetDocument();
if(spDoc!=NULL){
spDoc->loadXML(lpContent.c_str());
}
} catch(...) {
}
m_spDocument = spDoc;
return CyNode(spDoc);
}
示例5:
MSXML2::IXMLDOMDocumentPtr
CREBUS::getPluginParmsDef(_bstr_t coclass)
{
PluginTypeLib::PluginPtr plugin;
plugin.CreateInstance((char *) coclass);
MSXML2::IXMLDOMDocumentPtr xml;
xml.CreateInstance(MSXML2::CLSID_DOMDocument26);
try {
xml->loadXML( _bstr_t(plugin->getParmsDef(_variant_t())) );
}
catch(_com_error e) {
_bstr_t text = e.Description();
}
return xml;
}
示例6: LoadToolBars
void LoadToolBars(LPCTSTR lpXml)
{
if (Glb_toolbarArray.GetCount() > 0)
return;
IAcadMenuGroup *mnuGrp = NULL;
if (!getAcadMenuGroup(&mnuGrp))
return ;
IAcadToolbars *tlbrs = NULL;
HRESULT hr = S_OK;
hr = mnuGrp->get_Toolbars(&tlbrs);
mnuGrp->Release();
// 得到arx所在路径
TCHAR lpPath[MAX_PATH] = {0};
GetModuleFileName(GetModuleHandle("DistToolBar.arx"), lpPath, MAX_PATH);
PathRemoveFileSpec(lpPath);
PathAddBackslash(lpPath);
// 得到icon路径
PathAppend(lpPath, "icon");
PathAddBackslash(lpPath);
MSXML2::IXMLDOMDocumentPtr lpDocument;
hr = lpDocument.CreateInstance(__uuidof(DOMDocument));
if ( FAILED(hr) )
_com_raise_error(hr);
VARIANT_BOOL isSuccessful;
// 装载XML字符串
if (!lpDocument->loadXML(_bstr_t(lpXml)))
{
OutputDebugString("LoadXML failed!");
return;
}
MSXML2::IXMLDOMElementPtr lpDocElement = NULL;
lpDocument->get_documentElement(&lpDocElement);
// toolbar list
MSXML2::IXMLDOMNodeListPtr lpToolbarList = lpDocElement->getElementsByTagName(_bstr_t("toolbar"));
MSXML2::IXMLDOMNodePtr lpToolbar = NULL;
for ( ; (lpToolbar = lpToolbarList->nextNode()) != NULL ; )
{
MSXML2::IXMLDOMNodePtr lpCaptionNode = lpToolbar->attributes->getNamedItem("caption");
CString strCaption = (char*)lpCaptionNode->text;
OutputDebugString(strCaption);
// 添加工具条
IAcadToolbar *tlbr = NULL;
hr = tlbrs->Add(CComBSTR(strCaption), &tlbr);
if FAILED(hr)
continue;
Glb_toolbarArray.Add(strCaption);
// button list
MSXML2::IXMLDOMNodeListPtr lpButtonList = lpToolbar->GetchildNodes();
MSXML2::IXMLDOMNodePtr lpButton = NULL;
for ( ; (lpButton = lpButtonList->nextNode()) != NULL ; )
{
MSXML2::IXMLDOMNodePtr lpToolTipNode = lpButton->attributes->getNamedItem("tooltip");
CString strToolTip = (char*)lpToolTipNode->text;
MSXML2::IXMLDOMNodePtr lpCommandNode = lpButton->attributes->getNamedItem("command");
CString strCommand = (char*)lpCommandNode->text;
strCommand += " ";
MSXML2::IXMLDOMNodePtr lpIconNode = lpButton->attributes->getNamedItem("icon");
CString strIcon = (char*)lpIconNode->text;
OutputDebugStringX("tooltip=%s, command=%s, icon=%s", strToolTip, strCommand, strIcon);
// 添加工具按钮
IAcadToolbarItem *button=NULL;
VARIANT index;
index.vt = VT_I4;
index.lVal = 100l;
VARIANT vtFalse;
vtFalse.vt = VT_BOOL;
vtFalse.boolVal = VARIANT_FALSE;
CString strIconFile = lpPath;
strIconFile += strIcon;
if (!PathFileExists(strIconFile))
{
strIconFile = lpPath;
//.........这里部分代码省略.........
示例7: WebServer_LoadDB_PatrolDeviceInfo
//通过WebService查询在巡防的终端信息,当终端发来GPS数据时,用来判断该终端是否在巡防,
//如果是还要将该GPS数据发给巡防管理服务
BOOL CDBManage_WebServer::WebServer_LoadDB_PatrolDeviceInfo(BOOL isUpdateOnLineDeviceList)
{
BOOL bRet = FALSE;
if (!gPGisMainCtrlProc.m_BusinessManage_ConnectToGPSCheckServer.m_PatrolDevListData.IsEmpty())
{
gPGisMainCtrlProc.m_BusinessManage_ConnectToGPSCheckServer.m_PatrolDevListData.ClearAll();
}
if(m_bWebServiceConn)
{
MSXML2::IXMLDOMDocumentPtr pDoc;
HRESULT hr;
hr=pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument));
if(FAILED(hr))
{
gWriteLogApp.WriteLog( FOR_ALARM,_T("%s [SYS] 无法创建DOMDocument对象,请检查是否安装了MS XML Parser 运行库\n"),CTime::GetCurrentTime().Format("%H:%M:%S"));
return FALSE;
}
CComBSTR hiResult;
m_pWebService->HYTPGIS_PatroAreaUser_QueryAllDevice(&hiResult);
char *pStr = NULL;
pStr = _com_util::ConvertBSTRToString(hiResult);
CString strXML;
strXML.Format("<?xml version=\"1.0\" encoding=\"utf-8\" ?><DataSet xmlns=\"http://tempuri.org/\"> %s</DataSet>",pStr);
VARIANT_BOOL bRet = pDoc->loadXML((_bstr_t)strXML);
if(bRet == -1)
{
MSXML2::IXMLDOMNodeListPtr pListNode;
pListNode = pDoc->selectNodes("//Table");
if(pListNode != NULL)
{
int i;
long tLen;
pListNode->get_length(&tLen);
CString strTemp;
for(i = 0 ; i < tLen; i++)
{
int j = 0;
MSXML2::IXMLDOMNode *pTempNode;
pListNode->get_item(i,&pTempNode);
MSXML2::IXMLDOMNodeList *TempChildList;
pTempNode->get_childNodes(&TempChildList);
long listCount = 0;
TempChildList->get_length(&listCount);
MSXML2::IXMLDOMNode *tempListItem = NULL;
_variant_t tempValue;
for(j = 0 ; j < listCount; j++)
{
TempChildList->get_item(j,&tempListItem);
tempListItem->get_nodeTypedValue(&tempValue);
strTemp.Format("%s",(char *)(_bstr_t)tempValue);
strTemp = strTemp.TrimLeft();
strTemp = strTemp.TrimRight();
gPGisMainCtrlProc.m_BusinessManage_ConnectToGPSCheckServer.m_PatrolDevListData.AddItem(strTemp);
if(isUpdateOnLineDeviceList) //当巡防路线修改时为TRUE,此时要更新在线终端的巡防状态字段
{
gPGisMainCtrlProc.m_BusinessManage_ConToPub.Update_OnlineDeviceList_PatrolState(strTemp); //
}
TRACE("添加巡防用户信息 %s \n",strTemp);
}
} //end for(i = 0
bRet = TRUE;
gWriteLogApp.WriteLog( FOR_ALARM,_T("%s [SYS] 加载巡防终端信息 %d 成功 \n"),CTime::GetCurrentTime().Format("%H:%M:%S"),tLen);
m_bWebConnOK = TRUE;
}
}
if(pStr)
{
delete []pStr;
pStr = NULL;
}
}
return bRet;
}