Après quelques recherches et des essais plus ou moins fructueux voici les résultat d'un petit programme en python pour lire des fichiers XML et en extraire le contenu de certaines balises.
ligne de codage des caractères
# -*- coding: utf-8 -*-
Mon fichier de test un fichier wpkg.xml rapport d'installation avec l'outils WPKG
l="wpkg3.xml"
ici le fichier est fixe mais avec une fonction input de ce type :
raw_input("entrez le nom du fichier : ")
print"votre fichier :", l
Pour l'instant en texte, reste à développer cette interface avec tkinter ou wxwidget
Une lecture complète de ce fichier, ouverte lecture et fermeture :
from xml.dom import minidom
fsock = open(l)
xmldoc = minidom.parse(fsock)
fsock.close()
une variable pour la boucle de lecture
v=0
on crée une variable qui va contenir le Tag name "âckage" et une pour lire la version du logiciel installé mais ici il me manque encore quelques idées pour transformer une variable %versio% et récupérer sa valeure exacte à voir plus tard...
namelist = xmldoc.getElementsByTagName('package')
versionlist = xmldoc.getElementsByTagName('version')
on compte le nombre d'éléments :
i=len(namelist)
une boucle while pour lire les valeurs mises en mémoire ;
while v<i:
name = namelist[v]
a = name.attributes["id"]
b = name.attributes["name"]
print "balise name --> ",a.value," ",b.value
v=v+1
Voilà le résultat de quelques jours de découverte de python... Aujourd'hui je me lance dans la découverte de l'interface graphique. Cependant je concède bien sur qu'il n'y a ici pas de procédure, pas de complexité juste un outils qui parcours un fichier sans finesse, sans décorum mais je suis content de pouvoir extraire tout de même les informations de mon fichier xml...
Résultat :
>>>
13
balise name --> flashplayer_ie Adobe Flash Player 10.3 for IE
balise name --> FlashplayerMozilla Adobe Flash Player for Mozilla/Opera
balise name --> Tcl-Tk Compilateur TCL-TK - nécessaire pour logiciel leterrier
balise name --> gimp GNU Image Manipulation Program (GIMP)
balise name --> Geogebra GeoGebra : logiciel de geometrie dynamique
balise name --> Sketchup8 Google SketchUp8
balise name --> Sketchup Google SketchUp8
balise name --> Java Java Runtime Environnement 6 : ensemble d'outils permettant l'execution de programmes Java
balise name --> Libreoffice35 Libreoffice 3.6
balise name --> firefox Mozilla Firefox %version%
balise name --> openoffice32 OpenOffice.org 3.2
balise name --> Tuxpaint TuxPaint et Tampons additionnels - Logiciel de dessins
balise name --> vlc VideoLAN Client
>>>
Déjà pas mal pour un début, et peu de temps pour réfléchir...
A suivre...
Aucun commentaire:
Enregistrer un commentaire