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

📄 domelement.h

📁 有关于C++网络传输操作的一个DLL开发,希望对学习C++的人有帮助
💻 H
字号:
#if !defined(_DOMELEMENT_H_)
#define _DOMELEMENT_H_


#pragma warning(disable:4786)

#define MAX_CONTENT_LENGTH 1024

class DOMElement;
typedef int(*LPENUM_CALLBACK_FUNC)(DOMElement* element,void* pRef);

#include <vector>
#include <map>
#include <string>
#include <utility>
using namespace std;

typedef vector<DOMElement*> ElementList;
typedef vector<DOMElement*>::iterator ElementIterator;

typedef map<string, string> AttributeMap;
typedef map<string, string>::const_iterator AttributeIterator;

typedef pair<string, string> StringPair;

#define MLPCSTR const char*

class DOMElement
{
protected:
	string m_tag;

	char* m_content;
	
//	char* pcontent;
	
public:
	int m_level;
	DOMElement* m_parent;
	DOMElement* m_next;
	DOMElement* m_preced;
	
	ElementList m_children;
	AttributeMap _attribute;

public:
	DOMElement* GetNextElement();
	string GetAttrStr();
	DOMElement();
	DOMElement(DOMElement* parent);
	virtual ~DOMElement(); 
	void FreeChilds();

	void SetAttribute(MLPCSTR attribute, MLPCSTR value);
	void GetAttribute(MLPCSTR attribute, string &value);

	char* getTextContent(){return m_content;}
	void setTextContent(MLPCSTR content)
	{ 
		if(m_content)
		{
			delete[] m_content;
		}
		m_content = new char[strlen(content) + 1];  
		strcpy(m_content,content);
	}

	string get_tag(){return m_tag;}
	void set_tag(MLPCSTR tag){m_tag = tag;}
	
	DOMElement* get_parent(){return m_parent;}
	void set_parent(DOMElement* parent){m_parent = parent;}

	int get_level(){return m_level;}
	void set_level(int level){m_level = level;}

	int Enumerate(LPENUM_CALLBACK_FUNC pFunc,void* pRef);
	int BuildElement(string& xml);
	
	DOMElement* AddChild(MLPCSTR tag, MLPCSTR content);

	int GetChildrenByTag(MLPCSTR tag, ElementList &list);
	DOMElement* GetFirstChildByTag(MLPCSTR tag,int IsGrand = FALSE);
};
#endif // !defined(_DOMELEMENT_H_)

⌨️ 快捷键说明

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