我需要编辑QDomElement的文本-例如
我有一个XML文件,其内容为-

<root>
    <firstchild>Edit text here</firstchild>
</root>
如何编辑子元素<firstchild>的文本?
我在Qt 4.7中提供的QDomDocument类描述的QDomElement中看不到任何功能
Edit1-我要添加更多详细信息。
我需要阅读,修改和保存xml文件。要格式化文件如下:
<root>
    <firstchild>Edit text here</firstchild>
</root>
元素的值需要编辑。我读取xml文件的代码是-

注意:我试图将QDomElement强制转换为QDomNode并使用函数setNodeValue()。但是,它不适用于QDomElement。
我们非常欢迎任何建议,代码示例,链接。

最佳答案

这将满足您的要求(您发布的代码将保持原样):

// Get element in question
QDomElement root = doc.documentElement();
QDomElement nodeTag = root.firstChildElement("firstchild");

// create a new node with a QDomText child
QDomElement newNodeTag = doc.createElement(QString("firstchild"));
QDomText newNodeText = doc.createTextNode(QString("New Text"));
newNodeTag.appendChild(newNodeText);

// replace existing node with new node
root.replaceChild(newNodeTag, nodeTag);

// Write changes to same file
xmlFile.resize(0);
QTextStream stream;
stream.setDevice(&xmlFile);
doc.save(stream, 4);

xmlFile.close();

...而您一切就绪。您当然也可以写入其他文件。在此示例中,我只是截断了现有文件并覆盖了它。

09-06 17:07