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 ; }