- 论坛徽章:
- 0
|
[代码] 修改节点值- bool QXmlEdit::SetTValue(const QString &key, const QVariant &value)
- {
- try
- {
- QDomElement docElem = doc.documentElement();
- QDomNodeList nodeList = docElem.elementsByTagName(key);
- if (nodeList.count() >0 )
- {
- QDomElement el = nodeList.at(0).toElement(); //tag为key的节点
- QDomNode oldnode = el.firstChild(); //标签之间的内容作为节点的子节点出现,得到原来的子节点
- el.firstChild().setNodeValue(value.toString()); //用提供的value值来设置子节点的内容
- QDomNode newnode = el.firstChild(); //值修改过后的子节点
- el.replaceChild(newnode,oldnode); //调用节点的replaceChild方法实现修改功能
-
- QFile file(fileName);
- if (!file.open(QIODevice::WriteOnly | QIODevice::Text))
- {
- return false;
- }
- QTextStream out(&file);
- doc.save(out,4);
- }
- return true;
- }
- catch (...)
- {
- return false;
- }
- }
复制代码 |
|