Typically, with dom4j, you work with the live lists.

        List elements = test.elements();

        elements.add( elements.indexOf( refNode ), newNode );

Maybe a tad more verbose, but you get the flexibility of using
java.util.List methods to do whatever you please.

        -bob

On Sat, 20 Oct 2001, Amber, Zhao Yuan Yuan wrote:

> hi,
> 
> I have a problem using dom4j to insert a new node into a specific position
> in the tree.
> 
> This is because the insertBefore(Node newNode, Node refNode) is not defined
> in com.dom4j.Node interface,
> but only implemented in "org.dom4j.dom.DOMElement", which is derived from
> "org.dom4j.tree.DefaultElement".
> 
> 
> But the default implementation of dom4j seems to be creating DefaultElement
> instead of DOMElement.
> If you get an object from method like
>               Element test = Element.clone()   or
>               Element test = DOMDocument.getRootElement();
> 
> You can't cast test into DOMElement, because internally it is created as
> DefultElement.
> Therefore, you can't do a test.insertBefore(newNode, refNode) on test,
> because inserBefore() is only supported in DOMElement level.
> 
> I have checked dom4j.Node interface and found insertBefore() is not defined
> there.
> I think insertBefore is a very important feature that has been define in DOM
> Node, so I think it should
> be included into the dom4j.Node interface.
> 
> 
> Anyone encounter similia problem and knows a way to round about this?
> 
> 
> thx,
> amber
> 
> 
> _______________________________________________
> dom4j-dev mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/dom4j-dev
> 


_______________________________________________
dom4j-dev mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dom4j-dev

Reply via email to