[jdom-interest] JDOM Error
Laurent Bihanic
laurent.bihanic at atosorigin.com
Sun Nov 30 13:29:24 PST 2008
A JDOM Element can be associated with one and only one parent (Element or
Document).
As you put the "Document doc = new Document(root);" statement inside the first
level loop, you attempt to attach the Fibonacci_Numbers element to many documents.
I guess you should close both loops before creating & outputting the document.
Othewise, call root.detach() before creating the new document.
Laurent
shekher thakur a écrit :
> Hi all,
>
> i am using JDOM for creating XML and below is a sample code i have
> written to create XML.i am a beginer in the XML+JDOM
>
> *
>
> public
>
> * *class* FibonacciJDOM {
>
> *public* *static* *void* main(String[] args) {
>
> Element root =
>
> *new* Element("Fibonacci_Numbers");
>
> BigInteger low = BigInteger.
>
> /ONE/;
>
> BigInteger high = BigInteger.
>
> /ONE/;
>
> *for*(*int* j=1; j<=11; j++){
>
> *for* (*int* i = j; i <= 2; i++) {
>
> Element fibonacci =
>
> *new* Element("fibonacci"+j);
>
> fibonacci.setAttribute(
>
> "index", String./valueOf/(i));
>
> fibonacci.setText(low.toString());
>
> root.addContent(fibonacci);
>
> BigInteger temp = high;
>
> high = high.add(low);
>
> low = temp;
>
> }
>
> Document doc =
>
> *new* Document(root);
>
> // serialize it onto System.out
>
> *try* {
>
> XMLOutputter serializer =
>
> *new* XMLOutputter();
>
> FileWriter writer =
>
> *new* FileWriter("c:/myFile.xml");
>
> serializer.output(doc, writer);
>
> writer.close();
>
> }
>
> *catch* (IOException e) {
>
> System.
>
> /err/.println(e);
>
> }
>
> }
>
> }
>
> }
>
>
>
> But when i run my example i get the follwing error
>
>
>
> Exception in thread "main"
>
> _org.jdom.IllegalAddException_: The element "Fibonacci_Numbers" could
> not be added as the root of the document: The Content already has an
> existing parent document
>
> at org.jdom.ContentList.add(
>
> _ContentList.java:205_)
>
> at org.jdom.ContentList.add(
>
> _ContentList.java:131_)
>
> at java.util.AbstractList.add(
>
> _AbstractList.java:91_)
>
> at org.jdom.Document.setRootElement(
>
> _Document.java:236_)
>
> at org.jdom.Document.<init>(
>
> _Document.java:117_)
>
> at org.jdom.Document.<init>(
>
> _Document.java:154_)
>
> at test.FibonacciJDOM.main(
>
> _FibonacciJDOM.java:31_)
>
>
>
> i am unable to find out the problem what is causing this.
>
>
>
> any suggestion in this regard will be much helpful.
>
>
>
> Thanks in advaive
>
> Shekher
More information about the jdom-interest
mailing list