acl  3.5.3.0
acl::xml2类 参考

#include <xml2.hpp>

+ 类 acl::xml2 继承关系图:
+ acl::xml2 的协作图:

Public 成员函数

 xml2 (const char *filepath, size_t max_len, const char *data=NULL, size_t init_len=8192, size_t dbuf_nblock=2, size_t dbuf_capacity=100)
 
 xml2 (fstream &fp, size_t max_len, const char *data=NULL, size_t init_len=8192, size_t dbuf_nblock=2, size_t dbuf_capacity=100)
 
 xml2 (int fd, size_t max_len, const char *data=NULL, size_t init_len=8192, size_t dbuf_nblock=2, size_t dbuf_capacity=100)
 
 ~xml2 (void)
 
xmlignore_slash (bool on)
 
xmlxml_decode (bool on)
 
xmlxml_encode (bool on)
 
xmlxml_multi_root (bool on)
 
const char * update (const char *data)
 
bool complete (const char *root_tag)
 
void reset (void)
 
const stringgetText (void)
 
const std::vector< xml_node * > & getElementsByTagName (const char *tag) const
 
xml_nodegetFirstElementByTag (const char *tag) const
 
const std::vector< xml_node * > & getElementsByTags (const char *tags) const
 
xml_nodegetFirstElementByTags (const char *tags) const
 
const std::vector< xml_node * > & getElementsByName (const char *value) const
 
const std::vector< xml_node * > & getElementsByAttr (const char *name, const char *value) const
 
xml_nodegetElementById (const char *id) const
 
xml_nodecreate_node (const char *tag, const char *text=NULL)
 
xml_nodecreate_node (const char *tag, istream &in, size_t off=0, size_t len=0)
 
xml_nodeget_root (void)
 
xml_nodefirst_node (void)
 
xml_nodenext_node (void)
 
void build_xml (string &out) const
 
const char * to_string (size_t *len=NULL) const
 
size_t space (void) const
 
void space_clear (void)
 
size_t node_count (void) const
 
size_t attr_count (void) const
 
ACL_XML2get_xml2 (void) const
 
- Public 成员函数 继承自 acl::xml
 xml (size_t dbuf_nblock=2, size_t dbuf_capacity=100)
 
virtual ~xml (void)
 
xml_nodecreate_node (const char *tag, long long int number)
 
virtual int push_pop (const char *in, size_t len, string *out, size_t max=0)
 
virtual int pop_end (string *out, size_t max=0)
 
virtual void clear (void)
 
- Public 成员函数 继承自 acl::pipe_stream
 pipe_stream ()
 
virtual ~pipe_stream ()
 
- Public 成员函数 继承自 acl::dbuf_obj
 dbuf_obj (dbuf_guard *guard=NULL)
 
virtual ~dbuf_obj ()
 
int pos () const
 
dbuf_guardget_guard () const
 

额外继承的成员函数

- Protected 成员函数 继承自 acl::acl::noncopyable
 noncopyable ()
 
 ~noncopyable ()
 
- Protected 属性 继承自 acl::xml
dbuf_guard dbuf_
 
std::vector< xml_node * > elements_
 
stringbuf_
 
ACL_TOKENm_pTokenTree
 

详细描述

在文件 xml2.hpp156 行定义.

构造及析构函数说明

◆ xml2() [1/3]

acl::xml2::xml2 ( const char *  filepath,
size_t  max_len,
const char *  data = NULL,
size_t  init_len = 8192,
size_t  dbuf_nblock = 2,
size_t  dbuf_capacity = 100 
)

构造函数,使 xml 对象树创建在指定内存映射文件上

参数
filepath{const char*} 内存映射文件名
max_len{size_t} 内存映射文件的最大大小,即内存映射文件在自动 增长时不应超过此大小
data{const char*} 非空时自动调用解析过程
init_len{size_t} 内存映射文件创建时的初始大小
dbuf_nblock{size_t} 内部所用 dbuf_guard 的初始化参数
dbuf_capacity{size_t} 内部所用 dbuf_guard 的初始化参数

◆ xml2() [2/3]

acl::xml2::xml2 ( fstream fp,
size_t  max_len,
const char *  data = NULL,
size_t  init_len = 8192,
size_t  dbuf_nblock = 2,
size_t  dbuf_capacity = 100 
)

构造函数,使 xml 对象树创建在指定内存映射文件上

参数
fp{fstream&} 内存映射文件句柄,该文件句柄应在本 xml 对象 释放前一直保持打开状态,即 fp 必须在 xml 对象释放后才可以关闭
max_len{size_t} 内存映射文件的最大大小,即内存映射文件在自动 增长时不应超过此大小
data{const char*} 非空时自动调用解析过程
init_len{size_t} 内存映射文件创建时的初始大小
dbuf_nblock{size_t} 内部所用 dbuf_guard 的初始化参数
dbuf_capacity{size_t} 内部所用 dbuf_guard 的初始化参数

◆ xml2() [3/3]

acl::xml2::xml2 ( int  fd,
size_t  max_len,
const char *  data = NULL,
size_t  init_len = 8192,
size_t  dbuf_nblock = 2,
size_t  dbuf_capacity = 100 
)

构造函数,使 xml 对象树创建在指定内存映射文件上

参数
fd{ACL_FILE_HANDLE} 内存映射文件句柄,该文件句柄应在本 xml 对象释放前一直保持打开状态,即 fp 必须在 xml 对象释放后才可以关闭
max_len{size_t} 内存映射文件的最大大小,即内存映射文件在自动 增长时不应超过此大小
data{const char*} 非空时自动调用解析过程
init_len{size_t} 内存映射文件创建时的初始大小
dbuf_nblock{size_t} 内部所用 dbuf_guard 的初始化参数
dbuf_capacity{size_t} 内部所用 dbuf_guard 的初始化参数

◆ ~xml2()

acl::xml2::~xml2 ( void  )

成员函数说明

◆ attr_count()

size_t acl::xml2::attr_count ( void  ) const
virtual

@override

实现了 acl::xml.

◆ build_xml()

void acl::xml2::build_xml ( string out) const
virtual

@override

重载 acl::xml .

◆ complete()

bool acl::xml2::complete ( const char *  root_tag)
virtual

@override

实现了 acl::xml.

◆ create_node() [1/2]

xml_node& acl::xml2::create_node ( const char *  tag,
const char *  text = NULL 
)
virtual

@override

实现了 acl::xml.

◆ create_node() [2/2]

xml_node& acl::xml2::create_node ( const char *  tag,
istream in,
size_t  off = 0,
size_t  len = 0 
)
virtual

@override

实现了 acl::xml.

◆ first_node()

xml_node* acl::xml2::first_node ( void  )
virtual

@override

实现了 acl::xml.

◆ get_root()

xml_node& acl::xml2::get_root ( void  )
virtual

@override

实现了 acl::xml.

◆ get_xml2()

ACL_XML2* acl::xml2::get_xml2 ( void  ) const
inline

在文件 xml2.hpp347 行定义.

348  {
349  return xml_;
350  }

◆ getElementById()

xml_node* acl::xml2::getElementById ( const char *  id) const
virtual

@override

实现了 acl::xml.

◆ getElementsByAttr()

const std::vector<xml_node*>& acl::xml2::getElementsByAttr ( const char *  name,
const char *  value 
) const
virtual

@override

实现了 acl::xml.

◆ getElementsByName()

const std::vector<xml_node*>& acl::xml2::getElementsByName ( const char *  value) const
virtual

@override

实现了 acl::xml.

◆ getElementsByTagName()

const std::vector<xml_node*>& acl::xml2::getElementsByTagName ( const char *  tag) const
virtual

@override

实现了 acl::xml.

◆ getElementsByTags()

const std::vector<xml_node*>& acl::xml2::getElementsByTags ( const char *  tags) const
virtual

@override

实现了 acl::xml.

◆ getFirstElementByTag()

xml_node* acl::xml2::getFirstElementByTag ( const char *  tag) const
virtual

@override

实现了 acl::xml.

◆ getFirstElementByTags()

xml_node* acl::xml2::getFirstElementByTags ( const char *  tags) const
virtual

@override

实现了 acl::xml.

◆ getText()

const string& acl::xml2::getText ( void  )
virtual

@override

重载 acl::xml .

◆ ignore_slash()

xml& acl::xml2::ignore_slash ( bool  on)
virtual

@override

实现了 acl::xml.

◆ next_node()

xml_node* acl::xml2::next_node ( void  )
virtual

@override

实现了 acl::xml.

◆ node_count()

size_t acl::xml2::node_count ( void  ) const
virtual

@override

实现了 acl::xml.

◆ reset()

void acl::xml2::reset ( void  )
virtual

@override

实现了 acl::xml.

◆ space()

size_t acl::xml2::space ( void  ) const
virtual

@override

实现了 acl::xml.

◆ space_clear()

void acl::xml2::space_clear ( void  )
virtual

@override

实现了 acl::xml.

◆ to_string()

const char* acl::xml2::to_string ( size_t *  len = NULL) const
virtual

@override

实现了 acl::xml.

◆ update()

const char* acl::xml2::update ( const char *  data)
virtual

@override

实现了 acl::xml.

◆ xml_decode()

xml& acl::xml2::xml_decode ( bool  on)
virtual

@override

实现了 acl::xml.

◆ xml_encode()

xml& acl::xml2::xml_encode ( bool  on)
virtual

@override

实现了 acl::xml.

◆ xml_multi_root()

xml& acl::xml2::xml_multi_root ( bool  on)
virtual

@override

实现了 acl::xml.


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