node.h

来自「著名的标准C++的html解析器」· C头文件 代码 · 共 71 行

H
71
字号
#ifndef __HTML_PARSER_NODE_H#define __HTML_PARSER_NODE_H#include <map>#include <string>#include <utility>namespace htmlcxx {	namespace HTML {		class Node {			public:				Node() {}				//Node(const Node &rhs); //uses default				~Node() {}				inline void text(const std::string& text) { this->mText = text; }				inline const std::string& text() const { return this->mText; }				inline void closingText(const std::string &text) { this->mClosingText = text; }				inline const std::string& closingText() const { return mClosingText; }				inline void offset(unsigned int offset) { this->mOffset = offset; }				inline unsigned int offset() const { return this->mOffset; }				inline void length(unsigned int length) { this->mLength = length; }				inline unsigned int length() const { return this->mLength; }				inline void tagName(const std::string& tagname) { this->mTagName = tagname; }				inline const std::string& tagName() const { return this->mTagName; }				bool isTag() const { return this->mIsHtmlTag; }				void isTag(bool is_html_tag){ this->mIsHtmlTag = is_html_tag; }				bool isComment() const { return this->mComment; }				void isComment(bool comment){ this->mComment = comment; }				std::pair<bool, std::string> attribute(const std::string &attr) const				{ 					std::map<std::string, std::string>::const_iterator i = this->mAttributes.find(attr);					if (i != this->mAttributes.end()) {						return make_pair(true, i->second);					} else {						return make_pair(false, std::string());					}				}				operator std::string() const;				std::ostream &operator<<(std::ostream &stream) const;				const std::map<std::string, std::string>& attributes() const { return this->mAttributes; }				void parseAttributes();				bool operator==(const Node &rhs) const;			protected:				std::string mText;				std::string mClosingText;				unsigned int mOffset;				unsigned int mLength;				std::string mTagName;				std::map<std::string, std::string> mAttributes;				bool mIsHtmlTag;				bool mComment;		};	}}#endif

⌨️ 快捷键说明

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