2010-08-16 4 views
0

J'ai des données que mon programme découvre après avoir observé quelques choses sur les fichiers. Par exemple, je connais le nom du fichier, le fichier d'heure a été modifié pour la dernière fois, si le fichier est binaire ou texte ASCII, le contenu du fichier (en supposant que ce soit des propriétés) et d'autres choses.Comment créer un fichier XML?

Je voudrais stocker ces données au format XML.

Comment le feriez-vous?

Veuillez fournir un exemple.

+1

... ... ... utiliser juste System.out.println –

+1

droite. n'y at-il pas des bibliothèques XML que je puisse réutiliser pour créer des éléments? – JAM

+0

Contenu très similaire: http://stackoverflow.com/questions/831865/what-java-xml-library-do-you-recommend-to-replace-dom4j –

Répondre

1

Si vous voulez quelque chose de rapide et relativement indolore, utilisez XStream, qui vous permet de sérialiser les objets Java vers et à partir de XML. Le tutorial contient quelques exemples rapides.

+0

C'est au-delà impressionnant. Je vous remercie! – JAM

+0

Il existe de nombreuses solutions de liaison XML. JAXB (JSR-222) est la norme de l'industrie. Une implémentation est incluse dans Java SE 6. Faites une recherche rapide de stackoverflow pour les comparaisons technologiques. –

1

Utilisation StAX; c'est beaucoup plus facile que SAX ou DOM pour écrire un fichier XML (DOM est probablement le plus facile à lire un fichier XML mais vous oblige à avoir le tout en mémoire), et est construit dans Java SE 6.

Une bonne démo se trouve here sur p.2:

OutputStream out = new FileOutputStream("data.xml"); 
XMLOutputFactory factory = XMLOutputFactory.newInstance(); 
XMLStreamWriter writer = factory.createXMLStreamWriter(out); 
writer.writeStartDocument("ISO-8859-1", "1.0"); 
writer.writeStartElement("greeting"); 
writer.writeAttribute("id", "g1"); 
writer.writeCharacters("Hello StAX"); 
writer.writeEndDocument(); 
writer.flush(); 
writer.close(); 
out.close(); 
1

standard sont les bibliothèques du W3C.

final Document docToSave = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); 
final Element fileInfo = docToSave.createElement("fileInfo"); 
docToSave.appendChild(fileInfo); 
final Element fileName = docToSave.createElement("fileName"); 
fileName.setNodeValue("filename.bin"); 
fileInfo.appendChild(fileName); 

return docToSave; 

XML n'est presque jamais la chose la plus facile à faire.

Questions connexes