XMLDoc.h
上传用户:zhanglf88
上传日期:2013-11-19
资源大小:6036k
文件大小:3k
源码类别:

金融证券系统

开发平台:

Visual C++

  1. /*
  2. Cross Platform Core Code.
  3. Copyright(R) 2001-2002 Balang Software.
  4. All rights reserved.
  5. Using:
  6. class CXMLNode;
  7. class CXMLDocument;
  8. Warning:
  9. To use these classes, must call AfxOleInit() first.
  10. */
  11. #if !defined(AFX_XMLDOC_H__3533AF4F_42FA_4117_86FB_57AD0B2283A3__INCLUDED_)
  12. #define AFX_XMLDOC_H__3533AF4F_42FA_4117_86FB_57AD0B2283A3__INCLUDED_
  13. #if _MSC_VER > 1000
  14. #pragma once
  15. #endif // _MSC_VER > 1000
  16. #include "Markup.h"
  17. /***
  18. XML节点属性获取
  19. */
  20. class STKNET_API CXMLNode
  21. {
  22. public:
  23. CXMLNode( );
  24. virtual BOOL SetAttribute( CMarkup & markup );
  25. static CString getAttrValue( CMarkup & markup, LPCTSTR lpcszName );
  26. static long getAttrValue_I( CMarkup & markup, LPCTSTR lpcszName );
  27. static CSPTime getAttrValue_T( CMarkup & markup, LPCTSTR lpcszName );
  28. };
  29. /***
  30. XML文档
  31. 使用方法
  32. CXMLDocument xmlDoc;
  33. xmlDoc.Initialize( );
  34. xmlDoc.SetRawDocument( "<xml> ... </xml>" );
  35. ...
  36. */
  37. class STKNET_API CXMLDocument : public CObject
  38. {
  39. public:
  40. CXMLDocument();
  41. virtual ~CXMLDocument();
  42. // Attributes
  43. CMarkup & Markup() { return m_markup; }
  44. // Operations
  45. BOOL Initialize();
  46. void Release();
  47. BOOL SetRawDocument( CString &strDoc );
  48. void SetLastErrorMessage(LPCTSTR lpszError);
  49. virtual BOOL GetLastErrorMessage(LPTSTR lpszError, UINT nMaxError );
  50. protected:
  51. CMarkup m_markup;
  52. CString m_strLastErrorMessage;
  53. };
  54. /////////////////////////////////////////////////////////////////////////////////////
  55. // The Old XMLDoc using msxml.dll 2.5(gb2312) or above
  56. /*
  57. #import <msxml.dll>
  58. class CXMLNode
  59. {
  60. public:
  61. CXMLNode( );
  62. virtual BOOL SetAttribute( MSXML::IXMLDOMNodePtr pNode );
  63. static BOOL getAttrValue( MSXML::IXMLDOMNamedNodeMapPtr pMap, LPCTSTR lpcszName, _bstr_t& bstrValue );
  64. static CString getAttrValue( MSXML::IXMLDOMNamedNodeMapPtr pMap, LPCTSTR lpcszName );
  65. static long getAttrValue_I( MSXML::IXMLDOMNamedNodeMapPtr pMap, LPCTSTR lpcszName );
  66. static CSPTime getAttrValue_T( MSXML::IXMLDOMNamedNodeMapPtr pMap, LPCTSTR lpcszName );
  67. };
  68. class CXMLDocument : public CObject
  69. {
  70. public:
  71. CXMLDocument();
  72. virtual ~CXMLDocument();
  73. // Attributes
  74. MSXML::IXMLDOMDocumentPtr XMLDoc() { return m_pDOMDoc; };
  75. // Operations
  76. BOOL Initialize();
  77. void Release();
  78. BOOL Load( LPCTSTR lpcszURL );
  79. BOOL SetRawDocument( CString &strDoc );
  80. void SetLastErrorMessage(LPCTSTR lpszError);
  81. virtual BOOL GetLastErrorMessage(LPTSTR lpszError, UINT nMaxError );
  82. protected:
  83. MSXML::IXMLDOMDocumentPtr m_pDOMDoc;
  84. CString m_strLastErrorMessage;
  85. };
  86. */
  87. // The Old XMLDoc using msxml.dll 2.5(gb2312) or above
  88. /////////////////////////////////////////////////////////////////////////////////////
  89. #endif // !defined(AFX_XMLDOC_H__3533AF4F_42FA_4117_86FB_57AD0B2283A3__INCLUDED_)