Simple DOM question
Warren Hedley
w.hedley at auckland.ac.nz
Thu Aug 19 04:41:32 BST 1999
"Nathaniel W. Turner" wrote:
>
> I'm under the impression that one can't insert nodes into document A if they
> are part of document B, unless one removes the node from document B using
> the removeChild(Node) method.
>
> That's how I do it using Perl (XML::DOM), but I would hope that the DOM API
> would be the same in Java. That's the point, right?
Thanks for your help, but ...
I haven't been able to get that to work - that is, even though I remove a
node from its parent, I still cannot insert it into a document other than
the one in which it was created. Can you post a PERL example where this
works? And, more importantly, is it legal?
My Java test code is included below - note I'm using the dcxjp parser to read
it in, but otherwise using only DOM API calls.
--- BEGIN JAVA CODE ---
import com.datachannel.xml.om.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
public class NodeInsertion
{
public static void main(String argv[])
{
Document doc1=new Document(), doc2=new Document();
Element rootElementDoc1, rootElementDoc2;
Node childDoc1, childDoc2;
try
{
doc1.loadXML("<?xml version=\"1.0\"?>" +
"<rootElement1><childElement1 /></rootElement1>");
doc2.loadXML("<?xml version=\"1.0\"?>" +
"<rootElement2><childElement2 /></rootElement2>");
rootElementDoc1 = doc1.getDocumentElement();
rootElementDoc2 = doc2.getDocumentElement();
childDoc1 = rootElementDoc1.getFirstChild();
childDoc2 = rootElementDoc2.getFirstChild();
rootElementDoc2.removeChild(childDoc2);
rootElementDoc1.replaceChild(childDoc2, childDoc1);
}
catch (Exception e)
{
System.err.println("An error occurred : " + e.getMessage());
e.printStackTrace();
}
}
} /* class NodeInsertion */
--- END JAVA CODE ---
--
Warren Hedley
Department of Engineering Science
Auckland University
New Zealand
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev
mailing list