fastdo  0.6.16
eienml::ElemParser类 参考

元素解析器 更多...

#include <elem_parser.hpp>

Public 成员函数

 ElemParser (ElemPackage const &package)
 
Elementparse (winux::AnsiString const &str, Element *container) const
 解析成元素 更多...
 
Documentparse (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.hpp7 行定义.

构造及析构函数说明

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
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返回是否独立元素写法
返回
int
void eienml::ElemParser::read ( winux::AnsiString const &  str,
int  iEndTagName,
int  remainLength,
winux::AnsiString defAttr,
Attributes attrs 
) const

读取一个[...]内除tagName之外的数据


该类的文档由以下文件生成: