Extraire les données d'un fichier xml (log)

[Résolu/Fermé]
Signaler
-
 sara -
Bonjour,

Bonjour, j'ai besoin d'extraire les informations contenus dans un fichier log, créé automatiquement par un programme que j'ai fais en Java, pour l'utiliser après pour des statistiques.
J'ai tester des codes en java mais j'ai rencontré des problèmes.

Comment se faire pour traiter un fichier comme ça?Il contient plusieurs blocs xml.
Le nom du fichier est myLog.txt
Il est en XML et sous la forme suivante:
<?xml version="1.0" encoding="windows-1252" standalone="no"?>
<!DOCTYPE log SYSTEM "logger.dtd">
<log>
<record>
<date>2012-05-17T13:01:34</date>
<millis>1337252494404</millis>
<sequence>0</sequence>
<logger>com.mycompany</logger>
<level>INFO</level>
<class>test1.test1</class>
<method>main</method>
<thread>10</thread>
<message>message1</message>
</record>
<record>
<date>2012-05-17T13:01:34</date>
<millis>1337252494440</millis>
<sequence>1</sequence>
<logger>com.mycompany</logger>
<level>INFO</level>
<class>test1.test1</class>
<method>main</method>
<thread>10</thread>
<message>message2</message>
</record>
</log>
<?xml version="1.0" encoding="windows-1252" standalone="no"?>
<!DOCTYPE log SYSTEM "logger.dtd">
<log>
<record>
<date>2012-05-17T13:05:41</date>
<millis>1337252741283</millis>
<sequence>0</sequence>
<logger>com.mycompany</logger>
<level>INFO</level>
<class>test1.test1</class>
<method>main</method>
<thread>10</thread>
<message>message1</message>
</record>
<record>
<date>2012-05-17T13:05:41</date>
<millis>1337252741317</millis>
<sequence>1</sequence>
<logger>com.mycompany</logger>
<level>INFO</level>
<class>test1.test1</class>
<method>main</method>
<thread>10</thread>
<message>message2</message>
</record>
</log>
<?xml version="1.0" encoding="windows-1252" standalone="no"?>
<!DOCTYPE log SYSTEM "logger.dtd">
<log>
<record>
<date>2012-05-17T13:07:56</date>
<millis>1337252876705</millis>
<sequence>0</sequence>
<logger>mon_projet</logger>
<level>INFO</level>
<class>test1.test1</class>
<method>main</method>
<thread>10</thread>
<message>message1</message>
</record>
<record>
<date>2012-05-17T13:07:56</date>
<millis>1337252876738</millis>
<sequence>1</sequence>
<logger>mon_projet</logger>
<level>INFO</level>
<class>test1.test1</class>
<method>main</method>
<thread>10</thread>
<message>message2</message>
</record>
</log>


<config>Windows Vista / Safari 535.19</config>

2 réponses

Messages postés
618
Date d'inscription
vendredi 26 juillet 2002
Statut
Membre
Dernière intervention
13 juillet 2013
971
Salut!


Il existe une librairie Java qui s'appelle JIBX et qui te permet de générer des objets Java à partir de XML et vice-cersa.

Tu devras définir quel noeud de ton XML correspond à quel classe/champ de ton objet Java.

Si c'est trop lourd d'importer la librairie pour ce que tu as à réaliser, alors, tu peux t'orienter vers les librairies SAX et DOM.

Il y a d'ailleurs un tuto sur CCM: https://www.commentcamarche.net/contents/1329-dom-document-object-model-et-sax-simple-api-for-xml

;-)
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42674 internautes nous ont dit merci ce mois-ci

Oui effectivement, j'ai résolu mon problème en utilisant Jdom et sax.
Merci