• 7817阅读
  • 7回复

[提问]如何遍历xml文件??? [复制链接]

上一主题 下一主题
离线bazzi2011
 

只看楼主 倒序阅读 楼主  发表于: 2014-08-27

我想要遍历一个xml文件,找出这个xml文件中是否存在我要写入的节点名,请问该如何做?
比如有以下的xml文件,我想添加一个节点,如果名字是Node4,文件没有就添加,是Node3,文件中有就不添加。

<All>
    <Group1>
           <Node1>
           </Node1>
    </Group1>
    <Group2>
           <Node2>
           </Node2>
           <Node3>
           </Node3>
    </Group2>
</All>

我的需求:因此我要遍历每一个Node,从头到尾不管哪一级,都要遍历到并得到它的字符串,用于对比我要写入的节点名,相同就不做操作。就和    QTreeWidgetItemIterator这个遍历树节点的类一样.

离线stlcours

只看该作者 1楼 发表于: 2014-08-27
我也是初学者,照着网上刚做过,网上遍地都是答案,何不自己搜一搜呢?
离线bazzi2011

只看该作者 2楼 发表于: 2014-08-27
回 stlcours 的帖子
stlcours:我也是初学者,照着网上刚做过,网上遍地都是答案,何不自己搜一搜呢? (2014-08-27 17:22) 

这个我真的找不到,我的xml文件远比我举例的这个复杂的多,层级数目都不一样,我真的没找到有什么好例子。
阁下能不能把写的贴出来参考一下,感激不尽!
离线hnxymjj

只看该作者 3楼 发表于: 2014-08-27
离线bazzi2011

只看该作者 4楼 发表于: 2014-08-28
回 hnxymjj 的帖子
hnxymjj:http://blog.csdn.net/styyzxjq2009/article/details/8041287 (2014-08-27 18:21) 

这个帖子我也看了,他说的第二种方法肯定不行,第二种方法是在已知层级的情况下进行遍历,这不符合要求。

第一种QXmlStreamReader是流xml,我现在不太清楚这个流xml和普通的xml文件有什么区别,但我看也用不上。
离线dbzhang800

只看该作者 5楼 发表于: 2014-08-28
回 bazzi2011 的帖子
bazzi2011:这个帖子我也看了,他说的第二种方法肯定不行,第二种方法是在已知层级的情况下进行遍历,这不符合要求。
第一种QXmlStreamReader是流xml,我现在不太清楚这个流xml和普通的xml文件有什么区别,但我看也用不上。 (2014-08-28 09:46) 

我倒是觉得,Qt提供的这三种方式,任何一种都可以实现你的要求。
离线xianqingzh

只看该作者 6楼 发表于: 2014-08-28
  QDomElement eleCmd = _xmlDoc.elementsByTagName("Group2").at(0).toElement();
离线wangbodbs

只看该作者 7楼 发表于: 2014-09-02
我也求解答  我也是看了这个教程 已知层级 的 很容易搞定 但是我要处理的XML  未知层级 并且 含有很多个 同层级 相同 TAGNAME  的 段 并且 我要做的软件 就是 用来处理这个XML的 XML 层级不固定 只有 TAGNAME  是固定的
快速回复
限100 字节
 
上一个 下一个