tinyxml是一个操作xml文件的库,它对于xml文件的操作基于节点名,层层迭代,想要使用tinyxml遍历一个xml文件就需要使用循环或者递归的方式,这里给出的是使用递归的方式进行遍历

void ShpProcess::GetEleValue(XMLElement * element)
{for (XMLElement* currentele = element->FirstChildElement(); currentele; currentele = currentele->NextSiblingElement()){XMLElement* tmpele = currentele;if (currentele->GetText() != NULL)cout << currentele->Name() << ":" << currentele->GetText() << endl;  if (!tmpele->NoChildren())GetEleValue(tmpele);}
}

简单解释下函数逻辑

for循环从传入的父节点element的第一个子节点开始循环,用currentele存储当前节点,节点存在则对节点内容进行判断,文本值不为空就输出节点内容(文本为空跳过)

继而判断是否具有子节点,有子节点则进行递归调用

没有子节点就继续进行for循环,此时的currentele指向下一个同级节点,以此循环,直到遍历完整个XML文件

tinyxml/tinyxml2遍历所有节点相关推荐

  1. tinyxml2遍历所有节点_Python实现二叉树的遍历

    Outline: 二叉树概念 二叉树遍历(前序.中序.后序.宽度优先遍历)的迭代实现和递归实现: 二叉树的深度,二叉树到leaf的所有路径. 树(Tree) 是一种抽象数据类型(ADT),是由n(n& ...

  2. 遍历同辈节电的方法_JQuery遍历DOM节点的方法

    本文实例讲述了JQuery遍历DOM节点的方法.分享给大家供大家参考.具体分析如下: 本节的核心是介绍JQuery的DOM操作,前面介绍了很多创建.删除.替换等等节点操作.这里介绍如何遍历节点,选中临 ...

  3. extjs tree 遍历树节点并设置选中

    function initTreeChecked(){//获取根节点     var rootnoe = Ext.getCmp("id").getRootNode();;     ...

  4. js遍历树节点下的所有子节点_「Javascript数据结构」× 二叉搜索树

    目录 树的相关术语 二叉树和二叉搜索树 二叉树的遍历 二叉搜索树的搜索 二叉搜索树的移除 「 树的相关术语 」 一个树结构包含一些列存在父子关系的节点.每个节点都有一个父节点(除了顶部的第一个节点)以 ...

  5. 5月25日-js操作DOM遍历子节点

    一.遍历节点遍历子节点children();//获取节点的所有直接子类 遍历同辈节点next();prev();siblings();//所有同辈元素*find();从后代元素中查找匹配的filter ...

  6. 二叉树前中后序遍历以及节点计算

    二叉树前中后序遍历以及节点计算 二叉树 分类 二叉链的数据结构 三叉链的数据结构 四种遍历方法 深度优先遍历:前中后序 广度优先遍历:层序遍历 计算 节点个数 叶子节点个数 树的高度 第k层的节点个数 ...

  7. 数据结构:二叉树的创建,打印前中后序遍历,节点个数,叶子节点数,销毁,第K层中节点的个数,查找值为x的节点

    二叉树遍历:按照某种特定的规则,依次对二叉树中的节点进行相应的操作,并且每个节点只操作一次.(采用递归思想) 先序遍历:先遍历根节点,再遍历根节点的左子树,最后遍历根节点的右子树. 中序遍历:先遍历左 ...

  8. c++ STL list 遍历删除节点

    文章目录 错误方法 正确方法 list遍历删除节点时,处理不好会出现崩溃的情况. 错误方法 下面这种用法会在for的地方崩溃,分析 第一次for循环的时候 it=0,当t.erase(it)执行完成之 ...

  9. 树莓派(五)Tinyxml Tinyxml2的使用

    TinyXML2是simple.small.efficient开源的C++ XML文件解析库 优点:(1)对大部分的C/C++项目具有普适性.(2)使用较少的内存,速度变得更快.(3)没有C++的ST ...

最新文章

  1. Linux 双网卡绑定测试
  2. 海思3559移植yolov3
  3. Hbase的学习笔记(1)
  4. Knock Knock,这里有一封全球技术精英聚会的邀请函
  5. delphi ttabcontrol 顺序_健身指南健身训练,这样安排顺序更有效哦!
  6. 语言取10的整数倍_C语言结构体用法很多,坑也很多
  7. docker nacos mysql nginx 集群多台
  8. 数论 —— 斐波那契数列(Fibonacci)
  9. dalvik虚拟内存管理之二——垃圾收集
  10. ConvMF论文解读
  11. 支持x86/aarch/mips/loongarch的jogamp-2.3.2源码开源
  12. 为了方便在微博上看小黄图,我写了一段JS
  13. 测试实践:华为测试流程总结
  14. 实现三级导航demo
  15. 在ipad上的几款远程桌面工具使用体会
  16. js 打印去掉页眉页脚页码_JS实现无页眉页脚打印(转)
  17. file-saver blob前端导出excel文件
  18. Excel字符函数(3):字符查找函数Find、Search
  19. Spring Cloud微服务简介
  20. 为什么每个语言都要和Java作比较?一文带你搞懂!

热门文章

  1. Great Masters---王选
  2. 中国计算机领域王选,北大方正的创办者王选院士,作为中国第一代汉字激光照排系统的发明人,被誉为计算机领域的“当代毕异”。王选常_搜题易...
  3. c语言实现axi通信,【参赛手记】AXI-Stream接口开发详细流程
  4. LoRaWAN协议-MAC帧格式详解
  5. SWI-prolog工具开发小案例
  6. Qt 语言家实现中英文切换
  7. 数据库MySQL——修改数据
  8. 科技网红词汇之“人工智能”,“云计算”,“大数据”
  9. 职业规划之方法论【转自知乎】
  10. 【外星眼halcon视频教程】机器视觉如何检测高光零件?