本文整理汇总了C++中IDOMElement::getAttribute方法的典型用法代码示例。如果您正苦于以下问题:C++ IDOMElement::getAttribute方法的具体用法?C++ IDOMElement::getAttribute怎么用?C++ IDOMElement::getAttribute使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IDOMElement
的用法示例。
在下文中一共展示了IDOMElement::getAttribute方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: UpdateOutLinks
void CSiteFile::UpdateOutLinks()
{
try
{
WCHAR sql[256];
swprintf(sql, L"DELETE FROM links WHERE file_id = %d", m_dbid);
_variant_t va;
m_pWebSite->m_siteDataConnection->Execute(sql, &va, ADODB::adCmdText);
}
catch (_com_error &e)
{
DbError(e);
}
TCHAR ext[_MAX_EXT];
_splitpath(m_wfd.cFileName, NULL, NULL, NULL, ext);
if (!stricmp(ext, ".htm") ||
!stricmp(ext, ".html") ||
!stricmp(ext, ".asp") ||
!stricmp(ext, ".svg"))
{
CComQIPtr<IDOMDocumentContainer> documentcnt;
documentcnt.CoCreateInstance(CLSID_DOMDocumentContainer);
CSiteDir* pDir = (CSiteDir*)m_parent;
CUString pathName = GetFullPathName();
VARIANT_BOOL bsuccess;
documentcnt->load(_bstr_t(pathName), &bsuccess);
if (bsuccess)
{
CComQIPtr<IDOMDocument> document;
documentcnt->get_document(&document);
if (document != NULL)
{
{ // Links
CComQIPtr<IDOMElement> documentElement;
document->get_documentElement(&documentElement);
CComQIPtr<IMMSXHTMLDocument> htmldocument;
CComQIPtr<ISVGDocument> svgdocument;
CArray<IDOMElement*,IDOMElement*> elements;
if (htmldocument = document)
{
CollectElementTags(L"a", elements, documentElement);
}
else if (svgdocument = document)
{
CollectElementTags(L"a", elements, documentElement);
}
for (int i = 0; i < elements.GetSize(); i++)
{
IDOMElement* element = elements[i];
BSTR bhref;
if (htmldocument)
{
element->getAttribute(L"href", &bhref);
}
else if (svgdocument)
{
// TODO, use getAttributeNS
element->getAttribute(L"xlink:href", &bhref);
}
_bstr_t href = _bstr_t(bhref, false);
if (href.length())
{
char oldcwd[_MAX_PATH];
_getcwd(oldcwd, _MAX_PATH);
chdir(pDir->m_pathName);
char fullpath[_MAX_PATH];
_fullpath(fullpath, href, _MAX_PATH);
chdir(oldcwd);
CSiteFile* pHrefFile = (CSiteFile*)m_pWebSite->m_pRootDir->FindFilePathName(fullpath, 2);
if (pHrefFile)
{
try
{
WCHAR sql[256];
swprintf(sql, L"INSERT INTO links (file_id, out_link_id) VALUES ('%d', %d)", m_dbid, pHrefFile->m_dbid);
_variant_t va;
m_pWebSite->m_siteDataConnection->Execute(sql, &va, ADODB::adCmdText);
}
catch (_com_error &e)
{
DbError(e);
//.........这里部分代码省略.........