TiXmlElement:

对应于XML的元素,定义了对element的相关操作

成员函数:

TiXmlElement (const char * in_value);
TiXmlElement( const std::string& _value );
TiXmlElement( const TiXmlElement& );
// 定义一个TiXmlElement TiXmlElement& operator=( const TiXmlElement& base );
// TiXmlElement的 =(赋值) 运算符重载 virtual ~TiXmlElement();
// 析构函数 const char* Attribute( const char* name ) const;
const char* Attribute( const char* name, int* i ) const;
const char* Attribute( const char* name, double* d ) const;
// 通过属性名返回属性值,若果该值可以被转化为int/double,则通过第二个参数将转化后的值返回 int QueryIntAttribute( const char* name, int* _value ) const;
int QueryUnsignedAttribute( const char* name, unsigned* _value ) const;
int QueryBoolAttribute( const char* name, bool* _value ) const;
int QueryDoubleAttribute( const char* name, double* _value ) const;
int QueryFloatAttribute( const char* name, float* _value ) const;
int QueryStringAttribute( const char* name, std::string* _value ) const;
// 是Attribute()的替代,但有着更丰富的错误检查 template< typename T > int QueryValueAttribute( const std::string& name, T* outValue ) const;
int QueryValueAttribute( const std::string& name, std::string* outValue ) const;
// 尝试将属性读入不同类型 void SetAttribute( const char* name, const char * _value );
void SetAttribute( const char * name, int value );
void SetDoubleAttribute( const char * name, double value );
// 通过给出属性名和属性值,为元素设置一个属性 void RemoveAttribute( const char * name );
// 通过给出属性名来删除元素对应的属性 const TiXmlAttribute* FirstAttribute() const { return attributeSet.First(); }
TiXmlAttribute* FirstAttribute() { return attributeSet.First(); }
const TiXmlAttribute* LastAttribute() const { return attributeSet.Last(); }
TiXmlAttribute* LastAttribute() { return attributeSet.Last(); }
// 回去元素的第一个/最后一个属性 const char* GetText() const;
// 访问元素内文本 virtual TiXmlNode* Clone() const;
// 创建一个此元素副本,并返回此副本 virtual void Print( FILE* cfile, int depth ) const;
// 将此元素print到一个文件流

TiXmlComment:

对应于XML中的注释

成员函数:

TiXmlComment() : TiXmlNode( TiXmlNode::TINYXML_COMMENT ) {}
TiXmlComment( const char* _value ) : TiXmlNode( TiXmlNode::TINYXML_COMMENT );
TiXmlComment( const TiXmlComment& );
// 创建一个TiXmlComment TiXmlComment& operator=( const TiXmlComment& base );
// 对于TiXmlComment的 =(赋值)运算符重载 virtual ~TiXmlComment() {}
// 析构函数 virtual TiXmlNode* Clone() const;
// 创建一个此TiXmlComment的副本,并返回它 virtual void Print( FILE* cfile, int depth ) const;
virtual const char* Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding );
virtual const TiXmlComment* ToComment() const { return this; }
virtual TiXmlComment* ToComment() { return this; }
virtual bool Accept( TiXmlVisitor* visitor ) const;

TiXmlText:

对应于XML的文本部分,用于构建Element的文本部分,分为normal和CDATA两个模式

成员函数:

TiXmlText (const char * initValue );
TiXmlText( const TiXmlText& copy );
TiXmlText( const std::string& initValue );
virtual ~TiXmlText() {}
// 构造函数和析构函数 TiXmlText& operator=( const TiXmlText& base );
// 对于TiXmlText的 =(赋值)运算符重载 bool CDATA() const;
// 返回TiXmlText是否为CDATA模式读 void SetCDATA( bool _cdata );
// 设置TiXmlText为是否为(true/false)CDATA模式 virtual void Print( FILE* cfile, int depth ) const;
virtual const char* Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding );
virtual const TiXmlText* ToText() const { return this; }
virtual TiXmlText* ToText() { return this; }
virtual bool Accept( TiXmlVisitor* content ) const;

TiXmlDeclaration:

对应于XML中的申明部分,<?xml version="?" encoding="?", standalone="?">

成员函数:

TiXmlDeclaration();
TiXmlDeclaration( const std::string& _version,
const std::string& _encoding,
const std::string& _standalone );
TiXmlDeclaration( const char* _version,
const char* _encoding,
const char* _standalone );
TiXmlDeclaration( const TiXmlDeclaration& copy );
// 构建一个TiXmlDeclaration TiXmlDeclaration& operator=( const TiXmlDeclaration& copy );
// 对应于TiXmlDeclaration的 =(赋值)运算符重载 virtual ~TiXmlDeclaration() {}
// 析构函数 const char *Version() const { return version.c_str (); }
const char *Encoding() const { return encoding.c_str (); }
const char *Standalone() const { return standalone.c_str (); }
// 获取 declaration 的 version、encoding、standalone的对应值 virtual TiXmlNode* Clone() const;
// 创建一个TiXmlDeclaration的副本,并将其返回 virtual void Print( FILE* cfile, int depth, TIXML_STRING* str ) const;
virtual void Print( FILE* cfile, int depth ) const;
virtual const char* Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding );
virtual const TiXmlDeclaration* ToDeclaration() const { return this; }
virtual TiXmlDeclaration* ToDeclaration() { return this; }
virtual bool Accept( TiXmlVisitor* visitor ) const;

TiXmlDocument:

对应于XML的整个文档,TiXmlDocument作为顶层节点,用于连接XML的其他各个部

分,TiXmlDocument可以被load、save、print

成员函数:

TiXmlDocument();
TiXmlDocument( const char * documentName );
TiXmlDocument( const std::string& documentName );
TiXmlDocument( const TiXmlDocument& copy );
// 创建一个TiXmlDocument TiXmlDocument& operator=( const TiXmlDocument& copy );
// 对应于TiXmlDocument的 =(赋值)运算符重载 virtual ~TiXmlDocument() {}
// 析构函数 bool LoadFile( TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );
bool LoadFile( const char * filename, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );
bool LoadFile( FILE*, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );
// 使用当前文档(或给定文件名\文件指针)值加载文件,操作成功返回true bool SaveFile() const;
bool SaveFile( const char * filename ) const;
bool SaveFile( FILE* ) const;
// 使用当前文档值保存文件(xml),操作成功返回true const TiXmlElement* RootElement() const { return FirstChildElement(); }
TiXmlElement* RootElement() { return FirstChildElement(); }
// 获取文档的根元素 bool Error() const { return error; }
const char * ErrorDesc() const { return errorDesc.c_str (); }
int ErrorId() const { return errorId; }
void SetError( int err, const char* errorLocation, TiXmlParsingData* prevData, TiXmlEncoding encoding );
int ErrorRow() const { return errorLocation.row+; }
int ErrorCol() const { return errorLocation.col+; }
// 错误处理、定位 void SetTabSize( int _tabsize ) { tabsize = _tabsize; }
int TabSize() const { return tabsize; }
// 用于错误处理的函数的函数 void ClearError();
// 当错误被处理后,调用此函数重置错误相关参数 virtual const char* Parse( const char* p, TiXmlParsingData* data = , TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );
void Print() const { Print( stdout, ); }
virtual void Print( FILE* cfile, int depth = ) const;
virtual const TiXmlDocument* ToDocument() const { return this; }
virtual TiXmlDocument* ToDocument() { return this; }
virtual bool Accept( TiXmlVisitor* content ) const;

TiXmlHandle:

定义了一些关于XML的操作,TiXmlHandle不是 TinyXml DOM 结构的一部分,而是一个单独
的实用程序类。

成员函数:

TiXmlHandle( TiXmlNode* _node )                    { this->node = _node; }
TiXmlHandle( const TiXmlHandle& ref ) { this->node = ref.node; }
// 创建一个TiXmlHandle TiXmlHandle operator=( const TiXmlHandle& ref ) { if ( &ref != this ) this->node = ref.node; return *this; }
// 对应于TiXmlHandle的 =(赋值)运算符重载 TiXmlHandle FirstChild() const;
TiXmlHandle FirstChild( const char * value ) const;
// 返回第一个子节点(或给定名称的子节点)的句柄 TiXmlHandle FirstChildElement() const;
TiXmlHandle FirstChildElement( const char * value ) const;
// 返回第一个子元素(或给定名称的子元素)的句柄 TiXmlHandle Child( const char* value, int index ) const;
TiXmlHandle Child( int index ) const;
// 返回给定索引对应的子节点(/给定名称)的句柄 TiXmlHandle ChildElement( const char* value, int index ) const;
TiXmlHandle ChildElement( int index ) const;
// 返回给定索引对应的子元素(/给定名称)的句柄 TiXmlNode* ToNode() const { return node; }
TiXmlElement* ToElement() const { return ( ( node && node->ToElement() ) ? node->ToElement() : ); }
TiXmlText* ToText() const { return ( ( node && node->ToText() ) ? node->ToText() : ); }
TiXmlUnknown* ToUnknown() const { return ( ( node && node->ToUnknown() ) ? node->ToUnknown() : ); } TiXmlNode* Node() const { return ToNode(); }
TiXmlElement* Element() const { return ToElement(); }
TiXmlText* Text() const { return ToText(); }
TiXmlUnknown* Unknown() const { return ToUnknown(); }

TinyXML中类分析的更多相关文章

  1. C++中类的内存空间大小(sizeof)分析

    注意类大小与结构体大小还是有一些不同的,类里面还包含成员函数(特别是虚函数),结构体中一般只有数据成员. 首先明确各数据类型占多大的空间.例如int到底是占2字节还是4字节空间: 在TC里,int是2 ...

  2. UI基础:UI中类的继承关系图,最基本的视图分析

    首先,UI中常用的UIwindow.UILabel.UIButton.UITextField属于UIView的子类.UITextField和UILabel和UIwindow自身没有初始化方法,需要使用 ...

  3. Seata 中类SPI使用机制分析

    Seata中采用了与sofa-rpc和dubbo中相同的服务扩展机制.都是基于JAVA自身的服务发现机制-SPI进行再次封装注解,sofa-rpc和dubbo(@Deprecated)中的注解名字叫做 ...

  4. 简单分析JavaScript中的面向对象

    初学JavaScript的时候有人会认为JavaScript不是一门面向对象的语言,因为JS是没有类的概念的,但是这并不代表JavaScript没有对象的存在,而且JavaScript也提供了其它的方 ...

  5. Android指纹识别深入浅出分析到实战(6.0以下系统适配方案)

    指纹识别这个名词听起来并不陌生,但是实际开发过程中用得并不多.Google从Android6.0(api23)开始才提供标准指纹识别支持,并对外提供指纹识别相关的接口.本文除了能适配6.0及以上系统, ...

  6. Hammer.js分析(三)——input.js

    input.js是所有input文件夹中类的父类,浏览器事件绑定.初始化特定的input类.各种参数计算函数. Input父类和其子类就是在做绑定事件,各种参数计算.整合.设置等返回自定义事件对象,交 ...

  7. 深入.NET平台C#编程 测试题分析

    选择题讲解 1) 以下关于序列化和反序列化的描述错误的是( C). a) 序列化是将对象的状态存储到特定存储介质中的过程 b) 二进制格式化器的Serialize()和Deserialize()方法可 ...

  8. Android应用内存泄漏的定位、分析与解决策略

    什么是内存泄漏 对于不同的语言平台来说,进行标记回收内存的算法是不一样的,像 Android(Java)则采用 GC-Root 的标记回收算法.下面这张图就展示了 Android 内存的回收管理策略( ...

  9. Android WIFI 分析(一)

    本文基于<深入理解Android WiFi NFC和GPS 卷>和 Android N 代码结合分析   WifiService 是 Frameworks中负责wifi功能的核心服务,它主 ...

随机推荐

  1. Java设计模式学习二

    Java设计思想之单例模式 单例模式(Singleton Pattern)是Java中最常见的设计模式之一.这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式. 这种模式涉及到一个单一的 ...

  2. 15,re正则表达式

    判断手机号是否合法. phone_number = input('请输入手机号:') if re.match('^(13|14|15|18)[0-9]{9}$',phone_number): prin ...

  3. Python常用操作符

    Python常用操作符 1.成员关系操作符in 显示的数字前面填充'0'代替空格 6.转义字符 符号 含义 \' 单引号\" 双引号\a 发出系统响铃声\b 退格符\n 换行符\t 横向制表 ...

  4. Leetcode 407.接雨水

    接雨水 给定一个 m x n 的矩阵,其中的值均为正整数,代表二维高度图每个单元的高度,请计算图中形状最多能接多少体积的雨水. 说明: m 和 n 都是小于110的整数.每一个单位的高度都大于0 且小 ...

  5. 封装自己DB

    DB.class.php <?php /** * Created by PhpStorm. * User: brady.wang * Date: 2017/11/10 * Time: 18:00 ...

  6. WebLoad XML-parser methods

    WebLOAD provides an embedded, third-party XML parser object to improve the multi-platform support fo ...

  7. 【bzoj3671】[Noi2014]随机数生成器 贪心

    题目描述 输入 第1行包含5个整数,依次为 x_0,a,b,c,d ,描述小H采用的随机数生成算法所需的随机种子.第2行包含三个整数 N,M,Q ,表示小H希望生成一个1到 N×M 的排列来填入她 N ...

  8. 星球大战 BZOJ 1015

    星球大战 [问题描述] 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个星系.某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球.这些星球通过 ...

  9. Java面试题集(三)

    Jdk与jre的区别? Java运行是环境(jre)是将要执行java程序的java虚拟机. Java开发工具包(jdk)是完整的java软件开发包,包含jre,编译器和其他工具如javaDoc,ja ...

  10. Laravel 5.1 报错:[App\Http\Requests\Request] is not instantiable

    Laravel 5.1 报错:[App\Http\Requests\Request] is not instantiable 错误提示: Whoops, looks like something we ...