Element.h
上传用户:hysujiao87
上传日期:2007-12-02
资源大小:156k
文件大小:2k
- // Element.h: interface for the CElement class.
- //
- //////////////////////////////////////////////////////////////////////
- #if !defined(AFX_ELEMENT_H__30C235A7_5FF4_41D9_A2C2_DBF338337D11__INCLUDED_)
- #define AFX_ELEMENT_H__30C235A7_5FF4_41D9_A2C2_DBF338337D11__INCLUDED_
- #if _MSC_VER > 1000
- #pragma once
- #endif // _MSC_VER > 1000
- #include <afxtempl.h>
- #define MAX_CONTENT_LENGTH 1024
- class CElement;
- typedef int(*LPENUM_CALLBACK_FUNC)(CElement* element);
- typedef CTypedPtrList<CPtrList, CElement*> CElementList;
- class AFX_EXT_CLASS CElement
- {
- protected:
- CString m_tag;
- CString m_content;
-
- CElement* m_parent;
- CElementList m_children;
-
- int m_level;
-
- public:
- CMapStringToString _attribute;
- void setAttribute(LPCTSTR attribute, LPCTSTR value){
- _attribute.SetAt(attribute, value);
- }
- CString getAttribute(LPCTSTR attribute){
- _ASSERTE(attribute != NULL);
- if (attribute == NULL)
- return CString("");
- CString value;
- _attribute.Lookup(attribute, value);
- return value;
- }
- CString getChildContent(LPCTSTR tag){
- CString result;
- CElement *element = GetFirstChildByTag(tag);
- if (element == NULL)
- return result;
- result = element->get_content();
- return result;
- }
- CElement(CElement* parent);
- virtual ~CElement();
- virtual void Free();
- CString get_content(){return m_content;}
- void set_content(LPCTSTR content){m_content = content;}
- CString get_tag(){return m_tag;}
- void set_tag(LPCTSTR tag){m_tag = tag;}
-
- CElement* get_parent(){return m_parent;}
- void set_parent(CElement* parent){m_parent = parent;}
- int get_level(){return m_level;}
- void set_level(int level){m_level = level;}
- int Enumerate(LPENUM_CALLBACK_FUNC pFunc);
- int BuildElement(CString& xml);
-
- int AddChild(CString tag, CString content);
- HRESULT GetChildrenByTag(LPCTSTR tag, CElementList &list);
- CElement* GetFirstChildByTag(LPCTSTR tag);
- };
- #endif // !defined(AFX_ELEMENT_H__30C235A7_5FF4_41D9_A2C2_DBF338337D11__INCLUDED_)