[jdom-interest] Removing Elements
Rolf Lear
jdom at tuis.net
Mon Apr 9 14:34:22 PDT 2012
Hi Bashiro.
Chris is right, doing a remove() changes the size(), so you are skipping
items....
Iteration is your friend, but there is no need to go backwards... are
you using JDOM 2.0.0?
Element root = document.getRootElement();
Iterator<Element> it = root.getChildren().iterator();
while (it.hasNext()) {
Element emt = it.next();
if (ID.equals(emt.getAttributeValue("contacts"))) {
it.remove();
}
}
Otherwise:
Element root = document.getRootElement();
Iterator it = root.getChildren().iterator();
while (it.hasNext()) {
Element emt = (Element)it.next();
if (ID.equals(emt.getAttributeValue("contacts"))) {
it.remove();
}
}
Rolf
On 09/04/2012 3:39 PM, Bashiro wrote:
> Thanks a lot for the reply. And thanks to both Rolf and Chris!
> I really appreciate this.
>
> What I am doing is; I am searching for an "ID" in "contacts" to delete.
> I have the following code->
>
> List lists;
> Element next;
>
> lists = document.getRootElement().getChildren();
> for (int i = 0; i< lists.size(); i++) {
> next = (Element) lists.get(i);
> if (next.getAttribute("contacts").getValue().equals(ID)) {
> next.getAttribute("name").getValue();
> next.getAttribute("address").getValue();
> next.getAttribute("tel").getValue();
> next.getAttribute("mobile").getValue();
> next.detach();
>
> This only works when the ID in question is at [0]. I can view the contacts in a table too.
> If the contact is in a second row or a different row than first row it does not work.
>
> I even tried this;
> if (next.getAttribute("contacts").getValue().equals(ID)&&next.getAttribute("name").getValue().equals(name)) {
> do.....
> }
>
> Thanks for any help.
>
> Have a nice day!
>
> bashiro
> next.detach();
> System.out.println("REMOVED LAST " + domainName + "\n");
>
> Bashiro
> Drammen-Norway
>
> -----Original Message-----
> From: "Rolf Lear" [jdom at tuis.net]
> Date: 04/09/2012 19:36
> To: "Bashiro"<bashiro at myway.com>
> CC: jdom-interest at jdom.org
> Subject: Re: [jdom-interest] Removing Elements
>
>
> Hi Brashiro.
>
> I think (at least I hope) you are mistaken.
>
> You should be able to remove an Element in a number of ways....
>
> Assuming that you have a Element emt which is item 3 in the 'parent'
> ContentList, you should be able to do any one of:
>
> emt.detach();
> parent.removeContent(emt);
> parent.getContent().remove(3);
>
> Rolf
>
>
>
>
> On Mon, 09 Apr 2012 12:47:56 -0400, "Bashiro"<bashiro at myway.com> wrote:
>> Hello Folks!
>> First of all thanks to the jDom team for version 2.0!
>> Congrats to us all...
>>
>> My question is; I am trying to remove an element in jDom. It only
> removes
>> the element if
>> the element is located at [0]. Is there a good code or a good book to
>> help me with that ?
>>
>> Thanks
>>
>> Bashiro
>> Drammen-Norway
>>
>> _______________________________________________
>> To control your jdom-interest membership:
>> youraddr at yourhost.com">http://www.jdom.org/mailman/options/jdom-interest/youraddr@yourhost.com
>
>
More information about the jdom-interest
mailing list