2016-12-18 15 views
1

Я пытаюсь удалить элемент из дерева, используя «реф» атрибутоткрепление() не удаляя элемент dom4j

<stock> 
     <produits> 
     <produit ref="1" designation="PC" qte="12" pu="123"/> 
     <produit ref="2" designation="Imprimante" qte="23" pu="4578"/> 
     <produit ref="3" designation="Souris" qte="243" pu="15"/> 
     <produit ref="4" designation="Clavier" qte="50" pu="60"/> 
     <produit ref="5" designation="Scanner" qte="34" pu="500"/> 
     <produit ref="6" designation="Bureau" qte="34" pu="1500"/> 
     <produit ref="7" designation="Projecteur" qte="10" pu="10000"/> 
    </produits> 

</stock> 

Вот моя функция и она не работает.

public void supProduit(int ref) throws DocumentException 
{ 
    Element root =document.getRootElement(); 
    List<Node> nodesP = document.selectNodes("//Produits/Produit[@ref='"+ref+"']"); 
    for (Node node : nodesP) { 
     node.detach(); 
    } 
} 
+0

Не могли бы вы указать сообщение об ошибке или какое нежелательное поведение вы испытываете? –

+0

не указана ошибка –

+0

Откуда вы знаете, что элемент не удален? –

ответ

0

Ваше выражение XPath является неправильным, оно должно быть

"//produits/produit[@ref='" + ref + "']" 

Имена элементов чувствительны к регистру, поэтому список был пуст.