[jdom-interest] detach() [eg]

Uwe_Hale at i2.com Uwe_Hale at i2.com
Mon Apr 23 11:33:16 PDT 2001


>I question the use case. How many times do you want
>to move the root element of a document?

In my case quite often.  I'm working on a editor.  I parse text and then
grab the root element of the parsed document and add it to or replace a
element in another tree.  Since the element I'm trying to add has a
document as a parent, it won't allow it to be added to another element.  I
first have to set the documents root to null.  Like this:


          // parse text
            SAXBuilder builder = new SAXBuilder(false);
            doc = builder.build(new StringReader(xmlText));

            Element newElem = doc.getRootElement();
            doc.setRootElement(null); // detach it first

          // replace elem with
            Element parentElem = elem.getParent();
            List list = parentElem.getChildren();

          // get around list problem with only 1 child
            if( list.size() == 1 )
            {
                parentElem.removeChildren();
                parentElem.addContent(newElem);
            }
            else
            {
                int index = list.indexOf(elem);
                list.remove(index);
                list.add(index, newElem);
            }


Uwe






More information about the jdom-interest mailing list