gpt4 book ai didi

c++ - Qt 更新单个 XML 元素

转载 作者:行者123 更新时间:2023-11-28 07:29:55 24 4
gpt4 key购买 nike

我想更新 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();

关于c++ - Qt 更新单个 XML 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17936818/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com