Return TypeFunction nameArguments
hzStringhzDocXml::GetValue(hzXmlNode*,hzString&,hzString&,)

Declared in file: hzDocument.h
Defined in file : hzDocXml.cpp

Function Logic:

0:START 1:!pRoot 2:Return S 3:hzXmlNode::FindSubnodes hzVect::Count 4:!nodelist.Count() 5:Return S 6:pN 7:Info==aggr 8:nIndex 9:pN items 10:S 11:Info==node 12:S 13:memcmp(*Info,->,2)==0 14:ai.Valid(); 15:hzAttrset::Name anam strcmp 16:!strcmp(anam,*Info+2) 17:hzAttrset::Value S 18:Return S

Function body:

hzString hzDocXml::GetValue (hzXmlNode* pRoot, hzString& Nodename, hzString& Info)
{
   hzVect<hzXmlNode*>  nodelist ;
   hzChain         X ;
   hzAttrset       ai ;
   hzXmlNode*      pN ;
   const char*     anam ;
   hzString        S ;
   uint32_t        nIndex ;
   if (!pRoot)
       return S ;
   pRoot->FindSubnodes(nodelist, *Nodename) ;
   if (!nodelist.Count())
       return S ;
   pN = nodelist[0];
   if (Info == "aggr")
   {
       for (nIndex = 0; nIndex < nodelist.Count() ; nIndex++)
       {
           pN = nodelist[nIndex] ;
           X << pN->m_fixContent ;
       }
       S = X ;
   }
   else if (Info == "node")
       S = pN->m_fixContent ;
   else
   {
       if (memcmp(*Info, "->", 2)== 0)
       {
           for (ai = pN ; ai.Valid() ; ai.Advance())
           {
               anam = ai.Name() ;
               if (!strcmp(anam, *Info + 2))
               {
                   S = ai.Value() ;
                   break ;
               }
           }
       }
   }
   return S ;
}