Qt修改XML文件某个节点属性
时间: 2023-12-09 19:05:39 浏览: 290
要修改XML文件中某个节点的属性,你可以使用Qt自带的QDomDocument类。下面是一个简单的示例代码,假设我们要修改XML文件中名为"node"的节点的属性"attr"的值为"new_value":
```cpp
#include <QDomDocument>
#include <QFile>
int main()
{
// 打开XML文件
QFile file("file.xml");
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
return -1;
// 解析XML文件
QDomDocument doc;
if (!doc.setContent(&file)) {
file.close();
return -1;
}
file.close();
// 找到名为"node"的节点
QDomNodeList nodes = doc.elementsByTagName("node");
for (int i = 0; i < nodes.count(); ++i) {
QDomNode node = nodes.at(i);
if (node.isElement()) {
// 修改属性值
QDomElement elem = node.toElement();
elem.setAttribute("attr", "new_value");
}
}
// 保存修改后的XML文件
if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
return -1;
}
QTextStream out(&file);
out << doc.toString();
file.close();
return 0;
}
```
上面的代码首先打开XML文件并解析它,然后找到名为"node"的节点并修改它的属性"attr"的值为"new_value",最后将修改后的XML文件保存。你可以根据自己的需求修改节点名称、属性名称和属性值。
阅读全文