Kopieren von Knoten mit dom4j

Sytlestar

Grünschnabel
Hi,

Ich versuche ein Knoten von einem Document in ein Anderes zu kopieren.
Code:
SAXReader reader = new SAXReader();
        Document document = reader.read(file);
        
        sequenceElements = document.selectNodes("//XPD:OBJ[@type='UMLInteractionInstanceSet']");

 for(Iterator seqIter = sequenceElements.iterator(); seqIter.hasNext(); )
        {
            Element actElem = (Element) seqIter.next();
         
            
            DOMDocument newDOMDoc = new DOMDocument();
            newDOMDoc.importNode((org.w3c.dom.Node) actElem, true);
            
            newDOMDoc.appendChild((org.w3c.dom.Node)actElem);
            
            
            docList.add(newDOMDoc);
        }

Jedoch kommt es entweder zum Typ Konflikt zwischen org.w3c.dom.Node und org.dom4j.Node
oder
so wie die funktion jetzt verwendet wird kommt eine exception, dass das Element nicht in die Node gecastet werden kann.

Ich bin für alle Tipps Dankbar.

mfg
 
Hi,

und wes passiert, wenn du das Element vor dem Casten erst mal mithilfe von "instanceof" überprüfst?

Gruß
BK
 
Hi,

folgendermaßen habe ich das Problem gelöst:
Code:
List sequenceElements = document.selectNodes("XPath-ausdruck...");
Document newDoc;
        for(int i = 0; i < sequenceElements.size(); i++)
        {
            Element elem = (Element)sequenceElements.get(i);
            Element clonedElem = (Element) elem.clone();
            newDoc = DocumentHelper.createDocument(clonedElem);
            docList.add(newDoc);
        }
 
Zurück