在 QT c++ 中更新 XML 文件标记文本
Update XML file tag text in QT c++
<HmiRequest>
<Type>AlertPopup</Type>
<Id>123</Id>
<Order>new</Order>
<HmiContent>
<ATBev_1000_Label_NatureOfCall>eCall</ATBev_1000_Label_NatureOfCall>
</HmiContent>
</HmiRequest>
在上面的 xml 文件中,我想用 111 更新 Id 值"123"。123 到 111。我可以更新标签名称,但值我们如何更改?
试试这个
QDomDocument doc;
doc.setContent(QString("<HmiRequest> <Type>AlertPopup</Type> <Id>123</Id> <Order>new</Order> <HmiContent> <ATBev_1000_Label_NatureOfCall>eCall</ATBev_1000_Label_NatureOfCall> </HmiContent></HmiRequest>"), false);
QDomNodeList lstNodes = doc.documentElement().childNodes();
int iCount = lstNodes. count();
for (int i = 0; i < iCount; ++i)
{
if (lstNodes.at(i).nodeName() == "Id")
{
QDomElement newIdTag = doc.createElement(QString("Id"));
QDomText idVal = doc.createTextNode(QString("111"));
newIdTag.appendChild(idVal);
doc.documentElement().replaceChild(newIdTag, lstNodes.at(i));
break;
}
}
qDebug() << doc.toString(4);
相关文章:
- 文本文件中的单词链表
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 如何将内容数组写入文本文件?
- 无法通过空白将文本文件行分隔为矢量
- 我正在使用嵌套的while循环来解析具有多行的文本文件,但由于某种原因,它只通过第一行,我不知道为什么
- C++将文本文件中的数据读取到结构数组中
- 在指针的帮助下,文本文件中单词的频率
- 将字符指针十六进制转换为字符串并保存在文本文件C++中
- 将值从二维数组输出到文本文件
- 如何使用 c++ 实现并发文件/文本编辑?
- 我需要转换一些代码,以便它适用于输入和输出文件文本
- 通过套接字发送二进制文件.文本文件有效,其他文件无效
- 将大型数据文件拆分为多个小文件(文本格式)
- 如何读取输入文件(文本文件)并将输入验证为有效整数
- 从文本文件/文本流中读取Q字符串错误
- 从文本文件(文本解析器)C++中读取行和列的逻辑
- 如何将*.css文件(文本文件)的内容与附加信息存储在新文件中?
- 关于内存映射文件和使用大文件文本编辑器
- 如何在读取文件文本时跳过"n"
- 使用libzip从.zip获取文件(文本除外)