TinyXML:TiXmlNode
TiXmlNode:
对应于DOM结构中的节点,是TinyXML中很重要的一个类,它继承自TiXmlBase
TiXmlNode的友元类:
friend class TiXmlDocument;
friend class TiXmlElement;
TiXmlNode的成员函数:
virtual ~TiXmlNode();
const char *Value() const { return value.c_str (); }
const std::string& ValueStr() const { return value; }
const TIXML_STRING& ValueTStr() const { return value; }
// 返回TiXmlNode的值 void SetValue(const char * _value) { value = _value;}
void SetValue( const std::string& _value ) { value = _value; }
// 设置TiXmlNode的值 void Clear();
// 删除此节点的所有子节点 TiXmlNode* Parent() { return parent; }
const TiXmlNode* Parent() const { return parent; }
// 获取此节点的父节点 const TiXmlNode* FirstChild() const { return firstChild; }
TiXmlNode* FirstChild() { return firstChild; }
const TiXmlNode* FirstChild( const char * value ) const;
TiXmlNode* FirstChild( const char * _value );
const TiXmlNode* FirstChild( const std::string& _value ) const { return FirstChild (_value.c_str ()); } ///< STL std::string form.
TiXmlNode* FirstChild( const std::string& _value ) { return FirstChild (_value.c_str ()); } ///< STL std::string form.
// 获取此节点的第一个子节点 const TiXmlNode* LastChild() const { return lastChild; }
TiXmlNode* LastChild() { return lastChild; }
const TiXmlNode* LastChild( const char * value ) const;
TiXmlNode* LastChild( const char * _value );
const TiXmlNode* LastChild( const std::string& _value ) const { return LastChild (_value.c_str ()); } ///< STL std::string form.
TiXmlNode* LastChild( const std::string& _value ) { return LastChild (_value.c_str ()); } ///< STL std::string form.
// 获取此节点的最后一个子节点 const TiXmlNode* IterateChildren( const TiXmlNode* previous ) const;
TiXmlNode* IterateChildren( const TiXmlNode* previous );
const TiXmlNode* IterateChildren( const char * value, const TiXmlNode* previous ) const;
TiXmlNode* IterateChildren( const char * _value, const TiXmlNode* previous );
const TiXmlNode* IterateChildren( const std::string& _value, const TiXmlNode* previous ) const { return IterateChildren (_value.c_str (), previous); } ///< STL std::string form.
TiXmlNode* IterateChildren( const std::string& _value, const TiXmlNode* previous ) { return IterateChildren (_value.c_str (), previous); } ///< STL std::string form.
// 提供遍历此节点的子节点的另一种方式,while( child = parent->IterateChildren( child ) ) TiXmlNode* InsertEndChild( const TiXmlNode& addThis );
TiXmlNode* LinkEndChild( TiXmlNode* addThis );
// 插入一个新的子节点,通过引用/指针 TiXmlNode* InsertBeforeChild( TiXmlNode* beforeThis, const TiXmlNode& addThis );
TiXmlNode* InsertAfterChild( TiXmlNode* afterThis, const TiXmlNode& addThis );
// 向某个子节点前(/后)添加一个子节点 TiXmlNode* ReplaceChild( TiXmlNode* replaceThis, const TiXmlNode& withThis );
// 替换掉某个子节点 bool RemoveChild( TiXmlNode* removeThis );
// 删除此节点的某个子节点 const TiXmlNode* PreviousSibling() const { return prev; }
TiXmlNode* PreviousSibling() { return prev; }
const TiXmlNode* PreviousSibling( const char * ) const;
TiXmlNode* PreviousSibling( const char *_prev );
const TiXmlNode* PreviousSibling( const std::string& _value ) const { return PreviousSibling (_value.c_str ()); } ///< STL std::string form.
TiXmlNode* PreviousSibling( const std::string& _value ) { return PreviousSibling (_value.c_str ()); } ///< STL std::string form.
const TiXmlNode* NextSibling( const std::string& _value) const { return NextSibling (_value.c_str ()); } ///< STL std::string form.
TiXmlNode* NextSibling( const std::string& _value) { return NextSibling (_value.c_str ()); } ///< STL std::string form.
// 前一个兄弟节点 const TiXmlNode* NextSibling() const { return next; }
TiXmlNode* NextSibling() { return next; }
const TiXmlNode* NextSibling( const char * ) const;
TiXmlNode* NextSibling( const char* _next );
// 后一个兄弟节点 const TiXmlElement* NextSiblingElement() const;
TiXmlElement* NextSiblingElement();
const TiXmlElement* NextSiblingElement( const char * ) const;
TiXmlElement* NextSiblingElement( const char *_next );
const TiXmlElement* NextSiblingElement( const std::string& _value) const { return NextSiblingElement (_value.c_str ()); } ///< STL std::string form.
TiXmlElement* NextSiblingElement( const std::string& _value) { return NextSiblingElement (_value.c_str ()); } ///< STL std::string form.
const TiXmlElement* FirstChildElement() const;
TiXmlElement* FirstChildElement();
const TiXmlElement* FirstChildElement( const char * _value ) const;
TiXmlElement* FirstChildElement( const char * _value );
const TiXmlElement* FirstChildElement( const std::string& _value ) const { return FirstChildElement (_value.c_str ()); } ///< STL std::string form.
TiXmlElement* FirstChildElement( const std::string& _value ) { return FirstChildElement (_value.c_str ()); } ///< STL std::string form.
// Convenience function to get through elements. int Type() const { return type; }
// 返回节点类型,下面要讲到的NodeType const TiXmlDocument* GetDocument() const;
TiXmlDocument* GetDocument();
// 获取此节点所在DOM的指针 bool NoChildren() const { return !firstChild; }
// 测试此节点是否有子节点 virtual const TiXmlDocument* ToDocument() const { return ; }
virtual const TiXmlElement* ToElement() const { return ; }
virtual const TiXmlComment* ToComment() const { return ; }
virtual const TiXmlUnknown* ToUnknown() const { return ; }
virtual const TiXmlText* ToText() const { return ; }
virtual const TiXmlDeclaration* ToDeclaration() const { return ; } virtual TiXmlDocument* ToDocument() { return ; }
virtual TiXmlElement* ToElement() { return ; }
virtual TiXmlComment* ToComment() { return ; }
virtual TiXmlUnknown* ToUnknown() { return ; }
virtual TiXmlText* ToText() { return ; }
virtual TiXmlDeclaration* ToDeclaration() { return ; }
// 将Node转换为其他NodeType virtual TiXmlNode* Clone() const = ;
// 创建此节点的副本 virtual bool Accept( TiXmlVisitor* visitor ) const = ;
// 是否接受对TinyXML DOM中的节点进行层次访问
TiXmlNode的数据成员:
TiXmlNode( NodeType _type );
TiXmlNode* parent;
NodeType type; TiXmlNode* firstChild;
TiXmlNode* lastChild; TIXML_STRING value; TiXmlNode* prev;
TiXmlNode* next;
TiXmlNode中定义的NodeType:
enum NodeType
{
TINYXML_DOCUMENT,
TINYXML_ELEMENT,
TINYXML_COMMENT,
TINYXML_UNKNOWN,
TINYXML_TEXT,
TINYXML_DECLARATION,
TINYXML_TYPECOUNT
};
TinyXML:TiXmlNode的更多相关文章
- TinyXML:一个优秀的C++ XML解析器[转]
TinyXML:一个优秀的C++ XML解析器 读取和设置xml配置文件是最常用的操作,试用了几个C++的XML解析器,个人感觉TinyXML是使用起来最舒服的,因为它的API接口和Java的十分类似 ...
- TinyXML:一个优秀的C++ XML解析器
//-------------------------------------------------------------------------------------------------- ...
- TinyXML:属性
TiXmlAttribute: 代表XML中的属性,TiXmlAttribute中定义了一系列对属性的操作 TiXmlAttribute的友元类: friend class TiXmlAttribut ...
- C++使用TinyXML
参照一:http://qaohao.iteye.com/blog/496237 参照二:http://hi.baidu.com/lnylvoeegzcgnrr/item/af68fd9cde40fc1 ...
- TinyXml 操作XML 常用操作
源代码下载:http://sourceforge.net/projects/tinyxml/files/ 如下是一个XML片段: <Persons> <Perso ...
- TinyXML的使用
TinyXML TinyXML是一个简单的小型C ++ XML解析器,可以轻松集成到其他程序中. 它能做什么: 简而言之,TinyXML解析XML文档,并从可以读取,修改和保存的文档对象模型(DOM) ...
- 转:值得推荐的C/C++框架和库(真的很强大)
目录(?)[+] 值得学习的C语言开源项目 - 1 Webbench - 2 Tinyhttpd - 3 cJSON - 4 CMockery - 5 Libev - 6 Memcached - 7 ...
- [转载] C++ 程序员快过来围观:非常实用全面的 C++ 资源
原文: http://codecloud.net/c-plus-plus-resource-2983.html 绝对是c++开发者的福音啊, 必须推荐. 这次的资源涉及到了标准库.Web应用框架.人工 ...
- Tinyxml2学习
转自http://www.360doc.com/content/13/1223/16/3684846_339528825.shtml,尊重原文 什么是XML? XML全称EXtensible Mark ...
随机推荐
- appium+python自动化-adb shell模拟点击事件(input tap)
前言 appium有时候定位一个元素很难定位到,或者说明明定位到这个元素了,却无法点击,这个时候该怎么办呢? 求助大神是没用的,点击不了就是点击不了,appium不是万能的,这个时候应该转换思路,换其 ...
- 【转载】CentOS 7安装Python3.5,并与Python2.7兼容并存
CentOS 7下安装Python3.5 CentOS7默认安装了python2.7.5,当需要使用python3的时候,可以手动下载Python源码后编译安装. 1.安装python3.5可能使用的 ...
- hdu2074
我先求出交叉的gird,然后再一行一行求得.感觉还可以吧.思路比较清晰,开始想的是数是第几行然后从每一行的前后开始控制,好麻烦的感觉,我就先求出来了框架再做就好做多啦!后来PE,突然发现我特殊处理n= ...
- 刷题总结——bzoj2243染色
题目: 题目背景 SDOI2011 DAY1 T3 题目描述 给定一棵有 n 个节点的无根树和 m 个操作,操作有 2 类:1.将节点 a 到节点 b 路径上所有点都染成颜色 c :2.询问节点 a ...
- KVM 存储虚拟化
KVM 的存储虚拟化是通过存储池(Storage Pool)和卷(Volume)来管理的. Storage Pool 是宿主机上可以看到的一片存储空间,可以是多种类型,后面会详细讨论.Volume 是 ...
- db2数据备份与恢复
备份:先关掉所有tomcat运行:db2cmd db2Stop force db2Start DB2 FORCE APPLICATIONS ALL DB2 BACKUP DATABASE histes ...
- rsync同步文件
rsync中的参数 -r 是递归 -l 是链接文件,意思是拷贝链接文件:-p 表示保持文件原有权限:-t 保持文件原有时间:-g 保持文件原有用户组:-o 保持文件原有属主:-D 相当于块设备文件: ...
- (12)java -IDEA使用
一. 引入jar包 1. 2.
- CODEVS_1033 蚯蚓的游戏问题 网络流 最小费用流 拆点
原题链接:http://codevs.cn/problem/1033/ 题目描述 Description 在一块梯形田地上,一群蚯蚓在做收集食物游戏.蚯蚓们把梯形田地上的食物堆积整理如下: a(1,1 ...
- 解决Linux系统没有/etc/sysconfig/iptables文件
Linux系统中,防火墙默认是不开启的,一般也没有配置过任何防火墙的策略,所以不存在/etc/sysconfig/iptables文件. 一.常规解决方法: 1.在控制台使用iptables命令随便写 ...