⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xmltestdlg.h

📁 xml解析程序
💻 H
字号:
 // xmltestDlg.h : header file
//

#if !defined(AFX_XMLTESTDLG_H__09544E48_5AA7_4F5F_96C6_1611F6CDA83A__INCLUDED_)
#define AFX_XMLTESTDLG_H__09544E48_5AA7_4F5F_96C6_1611F6CDA83A__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

/////////////////////////////////////////////////////////////////////////////
// CXmltestDlg dialog

#pragma once

class CXmltestDlg : public CDialog
{
// Construction
public:
	CXmltestDlg(CWnd* pParent = NULL);	// standard constructor

// Dialog Data
	//{{AFX_DATA(CXmltestDlg)
	enum { IDD = IDD_XMLTEST_DIALOG };
		// NOTE: the ClassWizard will add data members here
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CXmltestDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
	//}}AFX_VIRTUAL

	//取得一项数据中的各元素
	int g_GetxmlnewItem(char *revStr,char *xmlorgInfo);

	//解析数据流
	BOOL GetXmlOrgData(char *szErrinfo);

	//从数据流中截取一项数据
	bool getsectiondata(char *xmllinedata,int *node_level);


	int m_ilevelnum;
	int nodelevel;
	BOOL bfirstoper;
// Implementation
protected:
	HICON m_hIcon;

	// Generated message map functions
	//{{AFX_MSG(CXmltestDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	afx_msg void OnButton1();
	afx_msg void OnButt_find();
	afx_msg void OnButt_try();
	afx_msg void OnButt_find2();
	afx_msg void OnButtFindid();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};



class MyOrg
{
public:
	//    CString m_name;         
	//    CString m_id;           
	//    int m_nType;           
	char m_name[30];	// 名称
	char m_id[20];	// 编号
	WORD m_nType;		// 类型
    CPtrList m_subOrgs;     // 子公司
    CPtrList m_subUsers;    // 成员
    MyOrg *m_pParent;       // 父成员
public:
    MyOrg()
    {
		//        m_name=_T("");
		////        m_id=_T("");
		//        m_nType=-1;
        m_pParent = NULL;
    }
    virtual ~MyOrg()
    {
        POSITION pos = m_subOrgs.GetHeadPosition();
        while(pos)
        {
            MyOrg *pOrt = (MyOrg*) m_subOrgs.GetNext(pos);
            if( pOrt ) delete pOrt;
        }
    }
	
//	/*
//	MyOrg *FindOrgByName(MyOrg *pttree,const CString strName)
//	{
//	
//	  return NULL;
//	  }	
//	  MyOrg *FindOrgById(const CString strId)
//	  {
//	  return NULL;
//	  }
//	*/
	
public:
	MyOrg *pCurrent;	//头指针
	MyOrg *PCursorstr;	//当前游标
	
public:
	int setkk(int inum);
    void AddSub(MyOrg *pOrg)
    {
        pOrg->m_pParent = this;
        if( pOrg->m_nType==1 )
        {
            m_subOrgs.AddTail(pOrg);
        }
        else if( pOrg->m_nType==0 )
        {
            m_subUsers.AddTail(pOrg);
        }
    }
};
//节点的位置
typedef struct
{
	char byNodeId[30];	//父节点ID
	short byNum;		//层号
	bool bOrgFlag;
	MyOrg *pCurrent;	//父节点指针		
}NODEPOS;

//从XML流中解析出的节点结构
typedef struct 
{
	char szORGID[30];
	char szNANE[20];
	WORD szORGTYPE;
	NODEPOS npParent;
}ORGITEMINFO,*LPORGITEMINFO;


//*/
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_XMLTESTDLG_H__09544E48_5AA7_4F5F_96C6_1611F6CDA83A__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -