本文整理汇总了C++中msxml2::IXMLDOMElementPtr::Release方法的典型用法代码示例。如果您正苦于以下问题:C++ IXMLDOMElementPtr::Release方法的具体用法?C++ IXMLDOMElementPtr::Release怎么用?C++ IXMLDOMElementPtr::Release使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类msxml2::IXMLDOMElementPtr
的用法示例。
在下文中一共展示了IXMLDOMElementPtr::Release方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetNamespacePrefix
CStdString SmartTagParser::GetNamespacePrefix()
{
if (m_spXMLDom == NULL)
{
CStdString msg;
msg.Format(_T("SmartTagParser::GetNamespacePrefix - The XML document pointer is null."));
throw Workshare::NullReferenceException(msg);
}
MSXML2::IXMLDOMElementPtr spElement = m_spXMLDom->firstChild;
if (spElement == NULL)
{
CStdString msg;
msg.Format(_T("SmartTagParser::GetNamespacePrefix - Failed to get the first node of the document."));
throw Workshare::Exception(msg);
}
MSXML2::IXMLDOMNamedNodeMapPtr spAttributes = spElement->attributes;
if (spAttributes == NULL)
{
spElement.Release();
CStdString msg;
msg.Format(_T("SmartTagParser::GetNamespacePrefix - Failed to get attributes of the first child of the document."));
throw Workshare::Exception(msg);
}
MSXML2::IXMLDOMAttributePtr spAttribute = spAttributes->item[0];
if (spAttribute == NULL)
{
spElement.Release();
spAttributes.Release();
CStdString msg;
msg.Format(_T("SmartTagParser::GetNamespacePrefix - Failed to get attributes of the first child of the document."));
throw Workshare::Exception(msg);
}
CStdString sFullNamespace = spAttribute->xml;
HRESULT hr = m_spXMLDom->raw_setProperty(_T("SelectionNamespaces"), _variant_t(sFullNamespace.c_str()));
if (FAILED(hr))
{
CStdString message;
message.Format(_T("SmartTagParser::SmartTagParser - Failed to set namespace : %s."), sFullNamespace.c_str());
throw Workshare::Com::ComException(message.c_str(), hr, m_spXMLDom);
}
int iPosStart = sFullNamespace.Find(_T(":"));
int iPosEnd = sFullNamespace.Find(_T("="));
CStdString sPrefix = sFullNamespace.Mid(iPosStart+1, iPosEnd - (iPosStart+1));
spElement.Release();
spAttributes.Release();
spAttribute.Release();
return sPrefix;
}
示例2: saveSourcesTab
//dedek:
BOOL CDataSourcesManager::saveSourcesTab()
{
BOOL ret = TRUE;
MSXML2::IXMLDOMDocumentPtr pXMLDom;
pXMLDom.CreateInstance(_T("Msxml2.DOMDocument"));
MSXML2::IXMLDOMElementPtr root_el; // korenovy element
root_el = pXMLDom->createElement("SOURCES_LIST");
pXMLDom->appendChild(root_el);
MSXML2::IXMLDOMElementPtr source_el; // source element
source_el = pXMLDom->createElement("SOURCE");
//atributy
MSXML2::IXMLDOMAttributePtr attr;
attr = pXMLDom->createAttribute("PUBLIC_ID");
source_el->setAttributeNode(attr);
attr.Release();
attr = pXMLDom->createAttribute("PERZISTENT_ID");
source_el->setAttributeNode(attr);
attr.Release();
attr = pXMLDom->createAttribute("PLUGIN_ID");
source_el->setAttributeNode(attr);
attr.Release();
for (int a=0; a<getSourcesCount(); a++)
{
MSXML2::IXMLDOMElementPtr e = source_el->cloneNode(VARIANT_TRUE);
e->setAttribute("PUBLIC_ID", (LPCTSTR) getSourcePublicID(a));
e->setAttribute("PERZISTENT_ID", (LPCTSTR) getSourcePersistentID(a));
e->setAttribute("PLUGIN_ID", (LPCTSTR) getSourcePlugin(a));
root_el->appendChild(e);
e.Release();
}
source_el.Release();
//default zdroj:
MSXML2::IXMLDOMElementPtr default_source;
default_source = pXMLDom->createElement("DEFAULT_SOURCE");
MSXML2::IXMLDOMAttributePtr src_attr;
src_attr = pXMLDom->createAttribute("PUBLIC_ID");
src_attr->value = (LPCTSTR) getDefaultSource();
default_source->setAttributeNode(src_attr);
src_attr.Release();
root_el->appendChild(default_source);
default_source.Release();
CDirectoriesManager & m = ((CReportAsistentApp *) AfxGetApp())->m_pGeneralManager->DirectoriesManager;
// save list of data sources into config. file "ConfigDir/sources.xml"
try
{
ret = S_OK == pXMLDom->save((LPCTSTR) m.getSourcesConfigFilePath());
}
catch(...)
{
CReportAsistentApp::ReportError(IDS_DSLISTSAVE_ERR);
}
root_el.Release();
return ret;
}
示例3: OnInitDialog
BOOL CAttributeLinkTableDialog::OnInitDialog()
{
CDialog::OnInitDialog();
if (! m_bShowTarget) m_TargetCombo.EnableWindow(FALSE);
InitBaseDialog(m_AttributesList, m_TargetCombo);
//dedek: inicializuj CaptionsList
CRect r;
m_CaptionsList.GetWindowRect(& r);
m_CaptionsList.InsertColumn(CAPTLIST_CL_CAPTION, "caption", LVCFMT_LEFT, r.Width()/3 -3);
m_CaptionsList.InsertColumn(CAPTLIST_CL_VALUE, "value", LVCFMT_LEFT, r.Width()/3 -3);
m_CaptionsList.InsertColumn(CAPTLIST_CL_NAME, "name", LVCFMT_LEFT, r.Width()/3 -3);
//napln CaptionsList hodnotami
m_CaptionsList.SetExtendedStyle(LVS_EX_FULLROWSELECT);
MSXML2::IXMLDOMNodeListPtr links = m_SelXMLElm->selectNodes("link");
CString target_id;
m_TargetCombo.GetWindowText(target_id);
int a;
for (a=0; a < links->length; a++)
{
MSXML2::IXMLDOMElementPtr link = links->item[a];
//caption
int item = m_CaptionsList.InsertItem(a, (_bstr_t) link->getAttribute("caption"));
//attr_name
CString attr_name = (LPCTSTR) (_bstr_t) link->getAttribute("attr_name");
m_CaptionsList.SetItemText(item, CAPTLIST_CL_NAME, attr_name);
//value
CString query_str;
query_str.Format("id(\"%s\")/attributes/element_attributes/attribute[@name=\"%s\"]/@value", target_id, attr_name);
MSXML2::IXMLDOMNodePtr value_attr = m_SelXMLElm->ownerDocument->selectSingleNode((LPCTSTR) query_str);
if (value_attr != NULL)
{
m_CaptionsList.SetItemText(item, CAPTLIST_CL_VALUE, value_attr->text);
value_attr.Release();
}
link.Release();
}
//napln style combo
CElementManager & m = ((CReportAsistentApp *) AfxGetApp())->m_pGeneralManager->ElementManager;
int item = CB_ERR;
for (a=0; a < m.getAttrLinkTableStylesCount(); a++)
{
item = m_StyleCombo.AddString(m.getAttrLinkTableStyleName(a));
}
//vyber style
int sel = m_StyleCombo.SelectString(-1, (_bstr_t) m_SelXMLElm->getAttribute("style"));
//vyber se nezdaril => kdyz exituje nejaky styl vyber prvni
if ((sel == CB_ERR) && (item != CB_ERR))
{
m_StyleCombo.SelectString(-1, m.getAttrLinkTableStyleName(0));
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}