2015-04-22 4 views
3

Вот мой код:не может создать файл XML с помощью JDOM

import java.io.FileWriter; 
import java.io.IOException; 
import org.jdom2.Attribute; 
import org.jdom2.Document; 
import org.jdom2.Element; 
import org.jdom2.output.Format; 
import org.jdom2.output.XMLOutputter; 


try { 
    Element FICHADAS = new Element("FICHADAS"); 
    Document doc = new Document(FICHADAS); 
    doc.setRootElement(FICHADAS); 
    Element fichada = new Element("fichada"); 
    fichada.addContent(new Element("N_Terminal").setText("XX")); 
    fichada.addContent(new Element("Tarjeta").setText("XX")); 
    fichada.addContent(new Element("Fecha").setText("XX")); 
    fichada.addContent(new Element("Hora").setText("XX")); 
    fichada.addContent(new Element("Causa").setText("XX")); 
    doc.getRootElement().addContent(fichada); 
    XMLOutputter xmlOutput = new XMLOutputter(); 
    xmlOutput.setFormat(Format.getPrettyFormat()); 
    xmlOutput.output(doc, new FileWriter("c:\file.xml")); 
} catch(IOException e) { 

} 

я пытаюсь найти file.xml в C: \, но не здесь, и я не знаю, почему, и консоль покажите мне, что: Элемент «FICHADAS» не может быть добавлен в качестве корня документа. Содержимое уже имеет существующий родительский документ.

// NEW Я думал, и теперь мне нужно только добавить новые фичады к существующему документу, не нужно создавать его каждый раз, когда я открываю программу.

+0

Вы можете добавить 'import' заявления, поэтому мы можем видеть, какие объекты вы используете? – Jens

+0

no, как я могу добавить операторы импорта? – marcss

+0

Операция 'import' - это строки firrst вашего кода. почему вы не можете добавить его? из этого пакета является «Элемент», «Документ», «XMLOutputter»? – Jens

ответ

3

Удалить эту строку:

doc.setRootElement(FICHADAS); 

потому, что вы установили корневой элемент здесь:

Document doc = new Document(FICHADAS); 
+0

Спасибо, друг! и последний вопрос в этой строке: xmlOutput.output (doc, new FileWriter («C: \ file.xml»)); кажется, что программа не может идти по пути, потому что «редкие» персонажи, как я могу это сделать? – marcss

+1

Вы должны избегать обратной косой черты: 'xmlOutput.output (doc, new FileWriter (" C: \\ file.xml ")); ' – Jens

+0

Спасибо большое! – marcss