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