RE: delete element from xml file
"Deepa Janamatti (RBEI/EMT2)" <[email protected]>
| Newsgroups | gmane.comp.java.jdom.general |
|---|---|
| Message-ID | <5CA0E7F9F0E0024095892716B9F4C53C0B08E1DA0C@SGPMBX01.APAC.bosch.com> |
Hello, Using an Iterator might lead to ConcurrentModificationException. So, use ListIterator instead of Iterator to remove the element. Regards, Deepa -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Laurent Bihanic Sent: Tuesday, 16. December 2008 4:45 AM To: meriem bessais Cc: [email protected] Subject: Re: [jdom-interest] delete element from xml file Hi, You should not iterate on children and modify the content directly on the element at the same time. In your for() loop, use i.remove() to remove the current element. Laurent meriem bessais a écrit : > *I want to delete an element from xml-file. this is my code but the file > dosen't change when I test it.* > > *public* *static* String supp(){ > *try*{ > /racine/=/document/.getRootElement(); > Element rac=/racine/.getChild("voitures"); > List listelt = rac.getChildren(); > *int* ok=1; > Iterator i = listelt.iterator(); > *while*(i.hasNext()&& ok==1) > { > Element courrent = (Element)i.next(); > *if* > (courrent.getAttribute("immatricule").getValue().equals("8345 tU 125")){ > System./out/.println(" > "+courrent.getAttribute("immatricule").getValue()); > //Element free = (Element)courrent.detach(); > System./out/.println(rac.getName()); > > rac.removeContent(courrent); > ok=0; > //courrent.removeChild(couleur); > System./out/.println("supprimé"); > } > }}*catch*(Exception e){*return* e.getMessage();} _______________________________________________ To control your jdom-interest membership: http://www.jdom.org/mailman/options/jdom-interest/[email protected] _______________________________________________ To control your jdom-interest membership: http://www.jdom.org/mailman/options/jdom-interest/[email protected]