acl
3.5.3.0
|
#include <xml.hpp>
Public 成员函数 | |
virtual const char * | tag_name (void) const =0 |
virtual const char * | id (void) const =0 |
virtual const char * | text (void) const =0 |
virtual const char * | attr_value (const char *name) const =0 |
const char * | operator[] (const char *name) const |
virtual const xml_attr * | first_attr (void) const =0 |
virtual const xml_attr * | next_attr (void) const =0 |
virtual xml_node & | add_attr (const char *name, const char *value)=0 |
xml_node & | add_attr (const char *name, char n) |
xml_node & | add_attr (const char *name, int n) |
xml_node & | add_attr (const char *name, size_t n) |
xml_node & | add_attr (const char *name, long long int n) |
virtual xml_node & | set_text (const char *str, bool append=false)=0 |
virtual xml_node & | set_text (istream &in, size_t off=0, size_t len=0)=0 |
xml_node & | set_text (long long int number) |
virtual xml_node & | add_child (xml_node *child, bool return_child=false)=0 |
xml_node & | add_child (xml_node &child, bool return_child=false) |
xml_node & | add_child (const char *tag, bool return_child=false, const char *str=NULL) |
xml_node & | add_child (const char *tag, const char *txt, bool return_child=false) |
xml_node & | add_child (const char *tag, long long int number, bool return_child=false) |
xml_node & | add_child (const char *tag, istream &in, size_t off=0, size_t len=0, bool return_child=false) |
virtual xml_node & | get_parent (void) const =0 |
virtual xml_node & | set_parent (xml_node *node)=0 |
virtual int | detach (void)=0 |
virtual xml_node * | first_child (void)=0 |
virtual xml_node * | next_child (void)=0 |
virtual int | depth (void) const =0 |
virtual bool | is_root (void) const =0 |
virtual int | children_count (void) const =0 |
void | clear (void) |
xml & | get_xml (void) const |
Public 成员函数 继承自 acl::dbuf_obj | |
dbuf_obj (dbuf_guard *guard=NULL) | |
virtual | ~dbuf_obj () |
int | pos () const |
dbuf_guard * | get_guard () const |
Protected 成员函数 | |
xml_node (xml *xml_ptr) | |
virtual | ~xml_node (void) |
Protected 属性 | |
xml * | xml_ |
std::vector< xml_node * > | nodes_tmp_ |
std::vector< xml_attr * > | attrs_tmp_ |
友元 | |
class | xml |
class | dbuf_guard |
|
protected |
xml 节点构造函数
xml_ptr | {xml*} xml 树对象,非空 |
|
protectedvirtual |
要求该对象必须是动态创建的
|
pure virtual |
添加 XML 节点属性
name | {const char*} 属性名 |
value | {const char*} 属性值 |
在 acl::xml1_node , 以及 acl::xml2_node 内被实现.
xml_node& acl::xml_node::add_attr | ( | const char * | name, |
char | n | ||
) |
xml_node& acl::xml_node::add_attr | ( | const char * | name, |
int | n | ||
) |
xml_node& acl::xml_node::add_attr | ( | const char * | name, |
size_t | n | ||
) |
xml_node& acl::xml_node::add_attr | ( | const char * | name, |
long long int | n | ||
) |
|
pure virtual |
给本 xml 节点添加 xml_node 子节点对象
child | {xml_node*} 子节点对象 |
return_child | {bool} 是否需要本函数返回新创建的子节点的引用 |
在 acl::xml1_node , 以及 acl::xml2_node 内被实现.
xml_node& acl::xml_node::add_child | ( | const char * | tag, |
bool | return_child = false , |
||
const char * | str = NULL |
||
) |
xml_node& acl::xml_node::add_child | ( | const char * | tag, |
const char * | txt, | ||
bool | return_child = false |
||
) |
xml_node& acl::xml_node::add_child | ( | const char * | tag, |
long long int | number, | ||
bool | return_child = false |
||
) |
|
pure virtual |
返回该 XML 节点的某个属性值
name | {const char*} 属性名 |
在 acl::xml1_node , 以及 acl::xml2_node 内被实现.
|
pure virtual |
void acl::xml_node::clear | ( | void | ) |
|
pure virtual |
|
pure virtual |
|
pure virtual |
遍历节点的所有属性时,需要调用此函数来获得第一个属性对象
在 acl::xml1_node , 以及 acl::xml2_node 内被实现.
|
pure virtual |
|
pure virtual |
xml& acl::xml_node::get_xml | ( | void | ) | const |
获得 xml 对象的引用
|
pure virtual |
如果该 XML 节点的 ID 号属性不存在,则返回空指针
在 acl::xml1_node , 以及 acl::xml2_node 内被实现.
|
pure virtual |
|
pure virtual |
遍历节点的所有属性时,调用本函数获得下一个属性对象
在 acl::xml1_node , 以及 acl::xml2_node 内被实现.
|
pure virtual |
const char* acl::xml_node::operator[] | ( | const char * | name | ) | const |
返回该 XML 节点的某个属性值的便捷写法
name | {const char*} 属性名 |
|
pure virtual |
设置 xml 节点的文本内容
str | {const char*} 字符串内容 |
append | {bool} 添加文本时是采用追加模式还是覆盖模式,如果为追加模式, 则当原来该节点上有文本内容时,新添加的内容在原文本后面追加,否则则覆盖 |
在 acl::xml1_node , 以及 acl::xml2_node 内被实现.
|
pure virtual |
设置 xml 节点,同时将流对象中的数据做为该节点的文本内容
in | {istream&} 输入流对象 |
off | {size_t} 对于文件流,则指定要拷贝的数据的起始位置 |
len | {size_t} 要拷贝的最大数据量,当为 0 时,则一直拷贝到流结束 |
在 acl::xml1_node , 以及 acl::xml2_node 内被实现.
xml_node& acl::xml_node::set_text | ( | long long int | number | ) |
|
pure virtual |
取得本 XML 节点的标签名
在 acl::xml1_node , 以及 acl::xml2_node 内被实现.
|
pure virtual |
|
friend |