[jdom-interest] Removing an element
bob mcwhirter
bob at werken.com
Tue Mar 5 11:29:24 PST 2002
Or better yet, use the ListIterator(), and call remove() upon
it, and you can keep trucking, removing/inserting as you
please through-out the iteration.
-bob
On Tue, 5 Mar 2002, James Cook wrote:
> Your line:
> root.removeChild("user");
> will always remove the first child name "user"
>
> You need to modify the live List, maintain a count (i) of where you are in
> the iterator, then replace the line above with:
> users.remove(i);
>
> Be warned though this will only work for the first instance that you find,
> once you have removed it, you should break, else the iterator will not
> represent the list. If you have to keep going, build a vector of those that
> should be removed and then remove them in a loop afterwards.
>
> Regards
> James
>
> -----Original Message-----
> From: Qasim [mailto:Q.M.Qasim at Bradford.ac.uk]
> Sent: 05 March 2002 16:34
> To: jdom-interest at jdom.org
> Subject: [jdom-interest] Removing an element
>
>
> Hi
> I am trying to remove an element from my xml file. the structure of my
> xml file is as follws:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <users>
> <user username="qasim" url="143.53.31.174" />
> <user username="nabil" url="localhost" />
> </users>
>
> I search the xml file with a username and url and if my search matches
> a username and url, I want to delete that element. For instance if the
> username is 'qasim' and url is '143.53.31.174', I would like to delete
> the whole user element.
>
> I have written the follwing code, but it does not work. can some one
> help:
>
> public void removeElement(String username,String location)
> {
> Element root =document.getRootElement();
>
> List users = root.getChildren("user");
> Iterator i=users.iterator();
> while (i.hasNext())
> {
> Element user= (Element)i.next();
> int count=0;
>
> String u=user.getAttributeValue("username");
> String l=user.getAttributeValue("url");
>
> int q = username.compareTo(u);
> int r= location.compareTo(l);
> if ((q==0) || (r==0))
> {
> root.removeChild("user");
> count++;
> }
> if (count==-1)
> {
> System.out.println("none deleted ");
> }
> }
> // increment number of description tag found
> /// end of loop//
>
> }
> ---------------------------------
> Qasim
> Q.M.Qasim at bradford.ac.uk
>
> _______________________________________________
> To control your jdom-interest membership:
> http://lists.denveronline.net/mailman/options/jdom-interest/youraddr@yourhos
> t.com
>
>
> This e-mail and any attachments are confidential and may also be privileged.
> If you are not the named recipient, please notify the sender immediately and
> do not disclose the contents to another person, use it for any purpose, or
> store or copy the information in any medium. Any views or opinions presented
> are solely those of the author and do not necessarily represent those of
> Jobpartners. Jobpartners is unable to guarantee the security (especially
> that of attached files) of any email content outside of our own computer
> systems.
>
More information about the jdom-interest
mailing list