|
[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: embedded html
Title: embedded html hey,
a
while ago i posted this problem. One week later, the problem is still not
solved... and i don't know why. Does anyone know an answer to this
problem?
what i
try to do is adding an element to an already existing element of a document but
i gives an error...when adding the element..
org.jdom.IllegalAddException: The element "root" could
not be added as a child of "test": The element already has an existing parent
(the document root)
code
and error are included...
any
help welcome,
thanks
bart
Code:
//
Java imports
import java.io.File; import java.io.StringReader; import java.io.ByteArrayInputStream; import java.io.IOException; import java.util.List; //
JDOM imports
import org.jdom.Document; import org.jdom.JDOMException; import org.jdom.input.SAXBuilder; import org.jdom.input.DOMBuilder; import org.jdom.output.XMLOutputter; import org.jdom.Element; import org.jdom.input.DefaultJDOMFactory; public
class SAXtoJDOM {
public static void main(String[]
args) {
try { SAXtoJDOM s2j = new SAXtoJDOM(); Document doc1 = s2j.createDocumentFromString("<root>tested before link <SITELINK><a href='test.html'>tests</a> </SITELINK>after link</root>"); Document doc2 = s2j.createDocumentFromFile("d:/test.xml");
// Output the document to
System.out
XMLOutputter outputter = new XMLOutputter(); System.out.println("\n\n----------------------------- ROOT ELEMENT DUMP "); Element rootEl = doc1.getRootElement(); Element testEl = doc2.getRootElement(); testEl.addContent(rootEl); System.out.println("**** " + rootEl.getParent()); DefaultJDOMFactory factory = new DefaultJDOMFactory(); Element testElement = factory.element("testChild"); rootEl.addContent(testElement); List rootElContent = rootEl.getContent(); for (int i = 0; i < rootElContent.size(); i++) { System.out.println("Element " + i + " = " + rootElContent.get(i)); } System.out.println("\n\n----------------------------- FROM STRING"); outputter.output(doc1, System.out); System.out.println("\n\n----------------------------- FROM FILE"); outputter.output(doc2, System.out); } catch (Exception e) { e.printStackTrace(); } } public Document createDocumentFromString(String xmlString) throws JDOMException { StringReader sr = new StringReader(xmlString); SAXBuilder builder = new SAXBuilder(); return builder.build(sr); } public Document createDocumentFromFile(String filePath) throws JDOMException { File file = new File(filePath); SAXBuilder builder = new SAXBuilder(); return builder.build(file); } } Output:
----------------------------- ROOT ELEMENT DUMP org.jdom.IllegalAddException: The element "root" could not be added as a child of "test": The element already has an existing parent (the document root) at org.jdom.Element.addContent(Element.java:1172) at SAXtoJDOM.main(SAXtoJDOM.java, Compiled Code) Process Exit...
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|
|||||||||

Cart








