| Return Type | Function name | Arguments |
|---|---|---|
| hzEcode | hzDocHtml::FindElements | (hzVect<hzHtmElem*>&,hzString&,hzString&,hzString&,) |
Declared in file: hzDocument.h
Defined in file : hzDocHtml.cpp
Function Logic:
Function body:
hzEcode hzDocHtml::FindElements (hzVect<hzHtmElem*>& elements, hzString& htag, hzString& attrName, hzString& attrValue)
{
hzHtmElem* pElement ;
hzAttrset ai ;
hzString anam ;
hzString aval ;
hzString S ;
hzUrl link ;
uint32_t Lo ;
uint32_t Hi ;
uint32_t nIndex ;
bool bOk ;
elements.Clear() ;
Lo = 0;
Hi = m_mapTags.Count() - 1;
if (htag)
{
Lo = m_mapTags.First(htag) ;
if (Lo < 0)
return E_NOTFOUND ;
Hi = m_mapTags.Last(htag) ;
}
for (nIndex = Lo ; nIndex <&eq; Hi ; nIndex++)
{
pElement = m_mapTags.GetObj(nIndex) ;
bOk = false ;
if (attrName)
{
for (ai = pElement ; ai.Valid() ; ai.Advance())
{
anam = ai.Name() ; aval = ai.Value() ;
if (anam == attrName)
{
if (!attrValue)
bOk = true ;
else
{
if (aval == attrValue)
bOk = true ;
}
}
}
}
else
{
if (attrValue)
{
for (ai = pElement ; ai.Valid() ; ai.Advance())
{
anam = ai.Name() ; aval = ai.Value() ;
if (aval == attrValue)
bOk = true ;
}
}
}
if (bOk)
elements.Add(pElement) ;
}
return E_OK ;
}