44 lines
849 B
C++
44 lines
849 B
C++
#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__
|