如何使用qt删除xml元素

如何使用qt删除xml元素,qt,Qt,我有这样的xml文件 <Plan> <car id="1">491,142;492,138;</car> <car id="10073">498,141;489,145;</car> <car id="1">483,143;477,145;</car> <car id="10075">487,142;490,137;</car> <car id="10076">483

我有这样的xml文件

<Plan>
 <car id="1">491,142;492,138;</car>
 <car id="10073">498,141;489,145;</car>
 <car id="1">483,143;477,145;</car>
 <car id="10075">487,142;490,137;</car>
 <car id="10076">483,137;488,136;</car>
 <car id="10077">484,146;480,144;</car>
 <car id="1">480,147;498,142;</car>
 <car id="10079">488,143;487,147;</car>
 <car id="1">498,141;487,142;</car>
 <car id="10081">487,143;481,144;</car>
 <car id="1">495,137;485,137;</car>
 <car id="10083">486,142;484,140;</car>
 <car id="10084">478,147;479,142;</car>
 <car id="1">493,139;489,139;</car>
 <car id="10087">498,140;490,136;</car>
 <car id="10088">479,145;484,142;</car>
</Plan>

491,142;492,138;
498,141;489,145;
483,143;477,145;
487,142;490,137;
483,137;488,136;
484,146;480,144;
480,147;498,142;
488,143;487,147;
498,141;487,142;
487,143;481,144;
495,137;485,137;
486,142;484,140;
478,147;479,142;
493,139;489,139;
498,140;490,136;
479,145;484,142;

如何使用qt库删除id为“1”的car元素?

非常简单:

QDomDocument doc;
QFile file("/tmp/1.xml");
file.open(QFile::ReadOnly);
doc.setContent(&file);
QDomElement plan = doc.documentElement();
QDomNodeList cars = plan.childNodes();
for(int i = 0; i < cars.count(); i++) {
  QDomNode node = cars.at(i);
  if (node.isElement() && node.toElement().attribute("id") == "1") {
    plan.removeChild(node);
  }
}
qDebug() << doc.toString();
qdomdock;
QFile文件(“/tmp/1.xml”);
打开(QFile::ReadOnly);
doc.setContent(文档和文件);
QdomeElement计划=doc.documentElement();
QDomNodeList cars=plan.childNodes();
对于(int i=0;iqDebug()我既看不到xml文件也看不到id 1。编辑:魔鬼就在细节中:)@UmNyobe-格式不好,现在已经修复。下一个审阅者:可能是