Hi!

I need to reorganize my DOM somewhat:

<body>
        <heisetext>
                <foo/>
                <bar/>
        </heisetext>
</body>

<foo> and <bar> need to be pulled out of <heisetext>:

<body>
        <foo/>
        <bar/>
        <heisetext>
        </heisetext>
</body>


I only came up with some very ugly code, maybe somebody has an better idea:

class HeisetextLegacyVisitor extends VisitorSupport
{
        public void visit( Element node )
        {
                if(node.getName().equalsIgnoreCase("heisetext"))
                {
                        int index=-1;

                        // programmer qualified for death penalty:
                        // search parent for current node! Something like
                        // node.getIndex() would really help here.
                        List<Element> l = node.getParent().elements();
                        for(int i = 0; i < l.size(); i++)
                        {
                                // find node, use jxpath
                                // this is the best part
                                if (l.get(i).getName().equalsIgnoreCase("heisetext"))
                                {
                                        index=i;
                                        break;
                                }
                        }

                        assert index != -1;

                        // insert
                        for (Iterator<Element> iter = 
node.elementIterator();iter.hasNext();)
                                l.add(index++,(Element)iter.next().detach());
                }
                // any idea how to remove the node here? :-)
        }
}


-------------------------------------------------------
This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference
Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer
Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA
REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND
_______________________________________________
dom4j-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dom4j-user

Reply via email to