#ifndef _XMLDOCTREE_H__ #define _XMLDOCTREE_H__ #if _MSC_VER > 1000 #pragma once #endif class CXMLDocTree { public: CXMLDocTree(); virtual ~CXMLDocTree(); BOOL Read(LPCTSTR pszFile); BOOL SetXmlText(LPCTSTR pszXmlText); POSITION GetRootItem(); BOOL GetKeyword(POSITION ps,CString& sKeyword); BOOL GetValueText(POSITION ps,CString& sText); BOOL SetValueText(POSITION ps,CString& sText); POSITION GetNextSiblingItem(POSITION ps); POSITION GetPrevSiblingItem(POSITION ps); POSITION GetChildItem(POSITION ps); POSITION GetParentItem(POSITION ps); BOOL ItemHasChildren(POSITION ps); private: BOOL MakeChildren(POSITION psItem,const CString& sXMLText); BOOL MakeNextSiblingItem(POSITION& pLast,const CString& sXMLText,CString& sNext); private: POSITION m_pRoot; CPtrArray m_arBuffer; }; #endif //_XMLDOCTREE_H__