C++ 如何使用qt删除嵌套的xml元素
我有这样的xml文件C++ 如何使用qt删除嵌套的xml元素,c++,xml,qt,dom,C++,Xml,Qt,Dom,我有这样的xml文件 <root> <element> <child id = "0"> Some Text </child> <-- Target To Delete </element> <element> <child id = "1"> Some Text </child> </element> </root>
<root>
<element>
<child id = "0"> Some Text </child> <-- Target To Delete
</element>
<element>
<child id = "1"> Some Text </child>
</element>
</root>
一些文本qdom文档;
doc.setContent(oldXml);
QDomNodeList节点=doc.elementsByTagName(“元素”);
对于(int i=0;i
QDOM文件文档;
doc.setContent(oldXml);
QDomNodeList节点=doc.elementsByTagName(“元素”);
对于(int i=0;i
谢谢,什么是“QString newXml=doc.toString();”是字符串中修改过的xml文档?我可以直接将其写入文件吗?是的,此字符串包含修改过的xml文档。是的,您可以将其写入文件。谢谢,什么是“QString newXml=doc.toString();”它是字符串中修改的xml文档吗?我可以直接将其写入文件吗?是的,此字符串包含修改过的xml文档。是的,您可以将其写入文件。
QDomDocument doc;
doc.setContent(oldXml);
QDomNodeList nodes = doc.elementsByTagName("element");
for (int i = 0; i < nodes.count(); ++i)
{
QDomNode node = nodes.at(i);
QDomElement child = node.firstChildElement("child");
if (!child.isNull() && child.attribute("id") == "0")
{
node.removeChild(child);
}
}
QString newXml = doc.toString();