【发布时间】:2016-06-25 15:06:30
【问题描述】:
我有这个方法,我必须从同一个客户中删除所有订单。这是我要从中删除的 .xml 文件
<encomendas>
<encomenda cod="enc4" data="2016-04-23" cliente="cli5" status="pendente">
<enc quant="3">9789722523288</enc>
<enc quant="1">9789726656272</enc>
</encomenda>
<encomenda cod="enc5" data="2016-05-16" cliente="cli7" status="pendente">
<enc quant="1">9789720043702</enc>
<enc quant="1">9789724146348</enc>
<enc quant="2">9789724121390</enc>
<enc quant="1">9789720046451</enc>
</encomenda>
<encomenda cod="enc6" data="2016-04-23" cliente="cli5" status="pendente">
<enc quant="3">9789722523288</enc>
<enc quant="1">9789726656272</enc>
</encomenda>
</encomendas>
这是我制作的代码
@WebMethod(operationName = "removeorder2")
public String removeorder2(@WebParam(name = "cliente") String id) {
URL u = this.getClass().getResource("orders.xml");
Document doc = XMLJDomFunctions.lerDocumentoXML(u.getFile());
Element encomendas = doc.getRootElement();
for (int i = 0; i < encomendas.getChildren().size(); i++) {
Element filho = encomendas.getChildren().get(i);
if (filho.getAttribute("cliente").getValue().equals(id)) {
encomendas.getChildren().remove(i);
XMLJDomFunctions.escreverDocumentoParaFicheiro(doc, u.getFile());
return "order removed";
}
}
return "order doesnt exist";
}
但是像这样我只在插入要删除的客户端时删除一个。 例如,如果我插入 cli5,它将删除他找到的第一个 cli5。我做了一个 cicle,但我不知道怎么做,我是做一个 xpath 计算我有多少客户还是有简单的方法来做?
【问题讨论】:
标签: java xml web-services netbeans