当前位置: 代码迷 >> QT开发 >> QDomElement: 怎样修改text值,该怎么处理
  详细解决方案

QDomElement: 怎样修改text值,该怎么处理

热度:705   发布时间:2016-04-25 05:14:17.0
QDomElement: 怎样修改text值
当用QDomDocument去解析XML文件的时候,常遇到的一个问题就是要修改element的值然后保存,在论坛上查了下好像没有很好的办法

比如我有个element

<name>a</name>

要改成
<name>b</name>



------解决方案--------------------
step1:QDomNodeList elementsByTagName ( const QString & tagname ) const 
可以<name>的list;
step2: 在list中找到需要修改的node,并修改
step3:写回文件
------解决方案--------------------
QDomElement el = node_2.toElement(); //tag为key的节点
QDomNode oldnode = el.firstChild(); //标签之间的内容作为节点的子节点出现,得到原来的子节点
el.firstChild().setNodeValue(str); //用提供的value值来设置子节点的内容
QDomNode newnode = el.firstChild(); //值修改过后的子节点
el.replaceChild(newnode,oldnode); //调用节点的replaceChild方法实现修改功能

使用节点替换,即可。
  相关解决方案