Qt更新单个XML元素
Qt update single XML Element
我想在Qt v5.0.2中更新一个XML元素。
假设这是我的XML文件:
<?xml version="1.0" encoding="utf-8"?>
<root>
<myValue1 value="1" />
<myValue2 value="2" />
</root>
我想更新XML元素myValue,并将值设置为2。
<?xml version="1.0" encoding="utf-8"?>
<root>
<myValue1 value="2" />
<myValue2 value="2" />
</root>
如何在Qt中处理此问题?当然,我可以创建一个QXmlStreamWriter
并编写完整的XML(全部4个数据行),但我想做一些小而聪明的事情。
使用QDomDocument
:
QDomDocument doc;
doc.setContent(<your xml>);
QDomNodeList elems = doc.elementsByTagName("myValue1");
if (!elems.isEmpty())
{
QDomElement el = elems.at(0).toElement();
if (!el.isNull())
{
if (el.hasAttribute("value"))
{
el.setAttribute("value", "2");
}
}
}
qDebug() << doc.toString();
相关文章:
- 使用 libxml2 解析 XML 文件时缺少元素值
- 使用提升属性树检查 xml 文件中是否存在元素
- 使用 qt c++ 检查 Xml 中是否存在根元素
- 使用 TinyXML 解析 XML 元素 - 无限循环
- 如何使用libxml2从C 中的XML文件中检索节点和特定元素字符串而不使用XPATH
- 如何使用XPath使用libxml2从C 中的XML文件中检索节点和特定元素字符串
- 正在更新微小Xml元素中的数据
- 忽略GSOAP中的未知XML元素节点
- 将xml字符串嵌套到xml元素中的语法
- PugiConvert xml元素内容到C++数组
- 有人可以解释为什么我的XML解析器跳过这些HTML元素的原因
- 如何使用 qt 删除嵌套的 xml 元素
- CodeSynthesis XSD CXX 不解析 XML 文件,表示未声明属性/元素
- 使用 cpp 在 opencv 中的 xml 文件中追加元素
- Qt XML读取元素,并且只获取根
- Qt更新单个XML元素
- 忽略xml元素中的字符
- TinyXML2 -在XML中间插入元素
- 使用TinyXML解析XML元素
- 使用TinyXML解析XML元素