QDomNode 类读取 qt 中子项的值
QDomNode Class read value of child in qt
我想在Apple中更改"A",在键中值为1到"D",在此代码中应替换2项。我尝试过这样的事情,但没有任何反应。
<C>
<B>
<Key value="1">
<Apple>A</Apple>
</Key>
<Key value="2">
<Apple>A</Apple>
</Key>
<Key value="3">
<Apple>A</Apple>
</Key>
<Key value="1">
<Apple>A</Apple>
</Key>
</B>
</C>
Qt:
QDomNodeList roots = doc.elementsByTagName("Key");
for (int i = 0; i < roots.size(); ++i) {
QDomElement domElement = roots.at(i).toElement();
QDomAttr attribute = domElement.attributeNode("value");
if (attribute.value() == "1") {
domElement.firstChild().setNodeValue("D");
}
在代码中,domElement.firstChild()
引用<Apple>
元素节点,而不是其内容。<Apple>
中的值也是一个节点(文本节点),这就是为什么它位于 DOM 层次结构中更深一级的原因:
-
domElement
—<Key>
-
domElement.firstChild()
—<Apple>
-
domElement.firstChild().firstChild()
—A
因此,您还必须获取<Apple>
元素节点的第一个子节点:
domElement.firstChild().firstChild().setNodeValue("D");
也许:
if (attribute.value() == "1")
相关文章:
- 使用 QT 逐行读取 JSON
- 从Qt上的UNIX域套接字(QLocalSocket)读取
- 从Qt QJsonDocument::toBinaryData使用non-Qt读取Binary Json?
- 从QDataStream读取/写入QT
- 试图打开并读取一个.txt文件,但它从原始文件中删除了实际文本(Qt GUI C++
- Qt 5.9中的QML崩溃-帮助读取堆栈跟踪
- 如何将QGraphicsItem QList保存到文件中,然后读取它?Qt c++
- Qt读取文本文件的一些信息
- Qt TCP服务器不从客户端读取数据
- Qt读取串行输入,然后将其拆分为单独的变量
- 写入和读取十六进制 TRAM QT 串行端口
- 为什么当我使用双精度时,Qt<->Matlab 正确写入和读取我的字节,但存储 uint32 的字节不正确?
- 通过 QT 读取 TCPsocket
- 在QT中打开和读取文件
- Qt 静态编译无法读取路径
- 如何从 txt 文件 - Qt 中读取特定行
- QDomNode 类读取 qt 中子项的值
- 读取 Qt 中连续 QProcess 的标准输出
- 读取 Qt 中的REG_MULTI_SZ类型注册表项
- 是否可以在没有安装 Office Excel 或其他先决条件框架的情况下读取 Qt 或 C++ Excel