[jdom-interest] removing element from document
rolf.lear at algorithmics.com
rolf.lear at algorithmics.com
Thu Dec 6 11:38:01 PST 2007
Just change the inside of the loop from:
//throws ConcurrentModificationException
feature.getChild("FIELDS").removeContent(field);
to:
//throws ConcurrentModificationException
j.remove();
It is 'well-documented' that if you have an integrator, you can't change
the collection apon which the iterator is based, unless you use the
iterator to make the change. See the ConcurrentModificationException
javadoc.
Rolf
-----Original Message-----
From: jdom-interest-bounces at jdom.org
[mailto:jdom-interest-bounces at jdom.org] On Behalf Of John Cartwright
Sent: Thursday, December 06, 2007 2:10 PM
To: jdom-interest at jdom.org
Subject: [jdom-interest] removing element from document
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
--------------------------------------------------------
This email and any files transmitted with it are confidential and proprietary to Algorithmics Incorporated and its affiliates ("Algorithmics"). If received in error, use is prohibited. Please destroy, and notify sender. Sender does not waive confidentiality or privilege. Internet communications cannot be guaranteed to be timely, secure, error or virus-free. Algorithmics does not accept liability for any errors or omissions. Any commitment intended to bind Algorithmics must be reduced to writing and signed by an authorized signatory.
--------------------------------------------------------
More information about the jdom-interest
mailing list