#ifndef CXMLDOMNODES_ZZG_2008_12_08 #define CXMLDOMNODES_ZZG_2008_12_08 #include "XMLDOMNode.h" #define RETURNLIST_NULL CXMLDOMNodesPtr pRetNodes( new CXMLDOMNodes( NULL ) );return pRetNodes; //#pragma once //#ifdef COMMON_EXPORT //#define COMMON_EXP __declspec( dllexport ) //#else //#define COMMON_EXP __declspec( dllimport ) //#endif //xml节点组类 class TARCH_EXP CXMLDOMNodes { friend class CXMLDOMNode; public: CXMLDOMNodes( void ); CXMLDOMNodes( const CXMLDOMNodes& srcXMLDOMNodes ); CXMLDOMNodes( MSXML2::IXMLDOMNodeListPtr pXMLDOMNodeList ); ~CXMLDOMNodes(); CXMLDOMNodes& operator= ( const CXMLDOMNodes& srcXMLDOMNodes ); CXMLDOMNodesPtr operator= ( CXMLDOMNodesPtr psrcXMLDOMNodes ); bool operator== ( const CXMLDOMNodes& srcXMLDOMNodes ); bool operator!= ( const CXMLDOMNodes& srcXMLDOMNodes ); CXMLDOMNodePtr operator[] ( int nIndex ); CXMLDOMNodePtr operator[] ( const TCHAR* pszNodeName ); friend bool operator!=( const CXMLDOMNodesPtr& pXMLDOMNodes1, const CXMLDOMNodesPtr& pXMLDOMNodes2 ); friend bool operator==( const CXMLDOMNodesPtr& pXMLDOMNodes1, const CXMLDOMNodesPtr& pXMLDOMNodes2 ); friend bool operator!=( const TCHAR* pNULL, const CXMLDOMNodesPtr& pXMLDOMNodes2 ); friend bool operator!=( const CXMLDOMNodesPtr& pXMLDOMNodes1, const TCHAR* pNULL ); friend bool operator==( const TCHAR* pNULL, const CXMLDOMNodesPtr& pXMLDOMNodes2 ); friend bool operator==( const CXMLDOMNodesPtr& pXMLDOMNodes1, const TCHAR* pNULL ); //得到节点个数 int GetCount( void ); //根据索引值得到指定节点指针: CXMLDOMNodePtr GetItem( int nIndex ); //根据名字得到指定节点指针 CXMLDOMNodePtr GetItem( const TCHAR* pszName ); const MSXML2::IXMLDOMNodeListPtr GetNodeListPtr()const {return m_pXMLDOMNodeList;} protected: MSXML2::IXMLDOMNodeListPtr m_pXMLDOMNodeList; }; #endif