const StringValue* XMLElementNode::QueryAtt(const char* path) { const char* pDot = strchr(path, '.'); if(!pDot) { const XMLAttribute* pAtt = this->GetAttribute(path); if(!pAtt) return NULL; return &pAtt->m_value; } else { int len = int(pDot - path); KXmlString strpath(path, len); XMLElementNode* pElem = this->Query(strpath.c_str()); if(!pElem) return NULL; const XMLAttribute* pAtt = pElem->GetAttribute(pDot+1); if(!pAtt) return NULL; return &pAtt->m_value; } return NULL; }