acl  3.5.3.0
acl::xml1类 参考

#include <xml1.hpp>

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

Public 成员函数

 xml1 (const char *data=NULL, size_t dbuf_nblock=2, size_t dbuf_capacity=100)
 
 ~xml1 (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_XMLget_xml (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
 

详细描述

在文件 xml1.hpp175 行定义.

构造及析构函数说明

◆ xml1()

acl::xml1::xml1 ( const char *  data = NULL,
size_t  dbuf_nblock = 2,
size_t  dbuf_capacity = 100 
)

构造函数

参数
data{const char*} xml 格式的字符串,可以是完整的 xml 字符串,也可以是部分的 xml 字符串,也可以是空指针, 无论如何,用户依然可以用部分或完整的 xml 字符串调用 update 函数,在调用 update 过程中解析 xml;其实,当构造函数的 的 data 参数非空时,它也会调用 update
dbuf_nblock{size_t} 内部所用 dbuf_guard 的初始化参数
dbuf_capacity{size_t} 内部所用 dbuf_guard 的初始化参数

◆ ~xml1()

acl::xml1::~xml1 ( void  )

成员函数说明

◆ attr_count()

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

@override

实现了 acl::xml.

◆ build_xml()

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

@override

重载 acl::xml .

◆ complete()

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

@override

实现了 acl::xml.

◆ create_node() [1/2]

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

@override

实现了 acl::xml.

◆ create_node() [2/2]

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

@override

实现了 acl::xml.

◆ first_node()

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

@override

实现了 acl::xml.

◆ get_root()

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

@override

实现了 acl::xml.

◆ get_xml()

ACL_XML* acl::xml1::get_xml ( void  ) const
inline

取得 acl 库中的 ACL_XML 对象

返回
{ACL_XML*} 该值不可能为空,注意用户可以修改该对象的值, 但不可以释放该对象

在文件 xml1.hpp332 行定义.

333  {
334  return xml_;
335  }

◆ getElementById()

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

@override

实现了 acl::xml.

◆ getElementsByAttr()

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

@override

实现了 acl::xml.

◆ getElementsByName()

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

@override

实现了 acl::xml.

◆ getElementsByTagName()

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

@override

实现了 acl::xml.

◆ getElementsByTags()

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

@override

实现了 acl::xml.

◆ getFirstElementByTag()

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

@override

实现了 acl::xml.

◆ getFirstElementByTags()

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

@override

实现了 acl::xml.

◆ getText()

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

@override

重载 acl::xml .

◆ ignore_slash()

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

@override

实现了 acl::xml.

◆ next_node()

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

@override

实现了 acl::xml.

◆ node_count()

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

@override

实现了 acl::xml.

◆ reset()

void acl::xml1::reset ( void  )
virtual

@override

实现了 acl::xml.

◆ space()

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

@override

实现了 acl::xml.

◆ space_clear()

void acl::xml1::space_clear ( void  )
virtual

@override

实现了 acl::xml.

◆ to_string()

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

@override

实现了 acl::xml.

◆ update()

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

@override

实现了 acl::xml.

◆ xml_decode()

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

@override

实现了 acl::xml.

◆ xml_encode()

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

@override

实现了 acl::xml.

◆ xml_multi_root()

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

@override

实现了 acl::xml.


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