[jdom-interest] removing element from document

John Cartwright John.C.Cartwright at noaa.gov
Thu Dec 6 11:29:48 PST 2007


Sorry to reply to myself,  but the following XPath approach seems to 
work - is the the recommended solution?

-- john

List nodesToDelete = XPath.selectNodes(root, "//FIELD[@name='#SHAPE#']");
int size = nodesToDelete.size();
for (int i=0; i<size; i++){
   ((Element)nodesToDelete.get(i)).detach();
}



John Cartwright wrote:
> Hello All,
>
> I need to remove all the Elements from a Document who have a 
> particular attribute w/ a particular value.  My first (unsuccessful) 
> attempt was Element#removeContent w/in an iterator loop which throws a 
> ConcurrentModificationException.
>
> Can someone suggest to me the correct way to do this sort of thing?
>
> Thanks!
>
> -- john
>
>                  List features = 
> root.getChild("RESPONSE").getChild("FEATURES").getChildren("FEATURE");
>          for (Iterator i=features.iterator();i.hasNext();) {
>              feature = (Element) i.next();
>              fields = feature.getChild("FIELDS").getChildren("FIELD");
>              for (Iterator j=fields.iterator(); j.hasNext();) {
>                  field = (Element)j.next();
>                  if ("#SHAPE#".equals(field.getAttributeValue("name"))) {
>                      //throws ConcurrentModificationException
>                      feature.getChild("FIELDS").removeContent(field);
>                  }
>              }                     }
>
> _______________________________________________
> To control your jdom-interest membership:
> http://www.jdom.org/mailman/options/jdom-interest/youraddr@yourhost.com


More information about the jdom-interest mailing list