fastdo
0.6.16
|
元素解析器 更多...
#include <elem_parser.hpp>
Public 成员函数 | |
ElemParser (ElemPackage const &package) | |
Element * | parse (winux::AnsiString const &str, Element *container) const |
解析成元素 更多... | |
Document * | parse (winux::AnsiString const &str, DocumentCreator docCreator=nullptr) const |
解析成文档 更多... | |
int | searchDelim (winux::AnsiString const &str, int offset, int *length, int *internalStart, int *internalLength) const |
搜索[...]这个串,返回其位置,否则返回-1。 更多... | |
int | searchElement (winux::AnsiString const &str, int offset, int *length, int *internalStart, int *internalLength, winux::AnsiString *tagName, int *iEndTagName, int *remainLength, bool *isHead, bool *isOdd) const |
搜一个支持的element,返回其位置 更多... | |
void | read (winux::AnsiString const &str, int iEndTagName, int remainLength, winux::AnsiString *defAttr, Attributes *attrs) const |
读取一个[...]内除tagName之外的数据 更多... | |
元素解析器
在文件 elem_parser.hpp 第 7 行定义.
eienml::ElemParser::ElemParser | ( | ElemPackage const & | package | ) |
Element* eienml::ElemParser::parse | ( | winux::AnsiString const & | str, |
Element * | container | ||
) | const |
解析成元素
搜索一个[...],把前面的字符当作文本元素存入,遇到一个[...],如果是头则新建元素,解析属性
Document* eienml::ElemParser::parse | ( | winux::AnsiString const & | str, |
DocumentCreator | docCreator = nullptr |
||
) | const |
解析成文档
int eienml::ElemParser::searchDelim | ( | winux::AnsiString const & | str, |
int | offset, | ||
int * | length, | ||
int * | internalStart, | ||
int * | internalLength | ||
) | const |
搜索[...]这个串,返回其位置,否则返回-1。
str | 主字符串 |
offset | 偏移起始位置 |
length | 返回搜到的长度(包含左右定界符) |
internalStart | 返回内部内容的开始位置(不包含定界符) |
internalLength | 返回内部内容的长度(不包含定界符) |
int eienml::ElemParser::searchElement | ( | winux::AnsiString const & | str, |
int | offset, | ||
int * | length, | ||
int * | internalStart, | ||
int * | internalLength, | ||
winux::AnsiString * | tagName, | ||
int * | iEndTagName, | ||
int * | remainLength, | ||
bool * | isHead, | ||
bool * | isOdd | ||
) | const |
搜一个支持的element,返回其位置
str | 主字符串 |
offset | 起始偏移位置 |
length | 返回搜到的长度(包含左右定界符) |
internalStart | 返回内部内容的开始位置(不包含定界符,处理了'/') |
internalLength | 返回内部内容的长度(不包含定界符,处理了'/') |
tagName | 返回TagName |
iEndTagName | 返回TagName结束后的位置 |
remainLength | 返回TagName结束后剩余的长度 |
isHead | 返回是否是头 |
isOdd | 返回是否独立元素写法 |
void eienml::ElemParser::read | ( | winux::AnsiString const & | str, |
int | iEndTagName, | ||
int | remainLength, | ||
winux::AnsiString * | defAttr, | ||
Attributes * | attrs | ||
) | const |
读取一个[...]内除tagName之外的数据