Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 27/01/2015, à 09:02

xunil2003

[résolu] python : Traiter un fichier xml

Bonjour,

Je débute en python, je suis sur Ubuntu 14.04 x64 et python 2.7.6.
j'essaie de traiter un fichier xml.

J'ai fait ceci :

from Tkinter import *
    import xml.dom.minidom
    from xml.dom.minidom import Node
    dom = xml.dom.minidom.parse("/home/laurent/python/test/test_04-07-2014_0104.xml" )
    Topic=dom.getElementsByTagName('Topic')
    i = 0
    for node in Topic:
        alist=node.getElementsByTagName('Title')
        for a in alist:
            Title= a.firstChild.data
            print Title

Quand j'exécute le code, j'ai ce message d'erreur :

laurent@Laurent-Bureau:~$ python /home/laurent/python/test/xml.py
    Traceback (most recent call last):
      File "/home/laurent/python/test/xml.py", line 24, in <module>
        import xml.dom.minidom
      File "/home/laurent/python/test/xml.py", line 24, in <module>
        import xml.dom.minidom
    ImportError: No module named dom.minidom
laurent@Laurent-Bureau:~$

La ligne 24 est :

import xml.dom.minidom

Que faut il faire pour résoudre le problème ?

Merci.

Dernière modification par xunil2003 (Le 30/01/2015, à 20:35)


- AMD R9 5950x 64 Go Ram / Intel Pentium I7 960 - 12 Go Ram - 6 T0 - Kubuntu 12.04 x64 / Kubuntu 14.04 x64 / Kubuntu 16.04 x64 / Kubuntu 18.04 x64 /  Kubuntu 20.04 x64 / Mint
- DreamPlug Multi Boot / Marvel 1.22 Ghz / Architecture ARM / 512 Mo Ram / Carte-sd 16 Go class 10 / 5 Watts / Debian Squeeze 2.6.39.4
- Raspberry PI 1 / Raspberry PI 2 / Raspberry PI 3 / Raspberry PI 4 : 4Gb
JE SUIS CHARLIE

Hors ligne

#2 Le 27/01/2015, à 09:15

pingouinux

Re : [résolu] python : Traiter un fichier xml

Bonjour,
Il ne faut pas appeler ton script xml.py, car il y a un conflit avec le nom du module xml.

Hors ligne

#3 Le 27/01/2015, à 09:45

xunil2003

Re : [résolu] python : Traiter un fichier xml

Bonjour,

J'ai renommé le fichier "xml.py" en "test-ml.py".
Maintenant quand j'exécute la fichier, y a rien, comme si il était vide ?

laurent@Laurent-Bureau:~$ python /home/laurent/python/test/test-ml.py
laurent@Laurent-Bureau:~$ 

Pourtant les paquets sont installé :

laurent@Laurent-Bureau:~$ dpkg -l | grep xml
ii  docbook-xml                                 4.5-7.2                                             all          standard XML documentation system for software and systems
ii  libbatik-java                               1.7.ubuntu-8ubuntu2                                 all          xml.apache.org SVG Library
ii  libfreehep-xml-java                         2.1.2+dfsg1-3                                       all          FreeHEP XML Library
ii  libkolabxml1                                1.0.1-0ubuntu3                                      amd64        Kolab XML format (shared library)
ii  libkxmlrpcclient4                           4:4.13.3-0ubuntu0.2                                 amd64        simple XML-RPC client library
ii  libmono-system-xml4.0-cil                   3.2.8+dfsg-4ubuntu1                                 all          Mono System.Xml library (for CLI 4.0)
ii  libqt4-xml:amd64                            4:4.8.5+git192-g085f851+dfsg-2ubuntu4               amd64        Qt 4 XML module
ii  libqt4-xml:i386                             4:4.8.5+git192-g085f851+dfsg-2ubuntu4               i386         Qt 4 XML module
ii  libqt4-xmlpatterns:amd64                    4:4.8.5+git192-g085f851+dfsg-2ubuntu4               amd64        Qt 4 XML patterns module
ii  libqt4-xmlpatterns:i386                     4:4.8.5+git192-g085f851+dfsg-2ubuntu4               i386         Qt 4 XML patterns module
ii  libqt5xml5:amd64                            5.2.1+dfsg-1ubuntu14.2                              amd64        Qt 5 XML module
ii  libqtscript4-xml:amd64                      0.2.0-1                                             amd64        QtScript bindings for the Qt 4 XML library
ii  libtinyxml2-0.0.0:amd64                     0~git20120518.1.a2ae54e-1                           amd64        C++ XML parsing library
ii  libxml-commons-external-java                1.4.01-2build1                                      all          XML Commons external code - DOM, SAX, and JAXP, etc
ii  libxml-commons-resolver1.1-java             1.2-7build1                                         all          XML entity and URI resolver library
ii  libxml-dom-perl                             1.44-1                                              all          Perl module for building DOM Level 1 compliant doc structures
ii  libxml-libxml-perl                          2.0108+dfsg-1                                       amd64        Perl interface to the libxml2 library
ii  libxml-libxslt-perl                         1.84-1                                              amd64        Perl interface to the GNOME libxslt library
ii  libxml-namespacesupport-perl                1.11-1                                              all          Perl module for supporting simple generic namespaces
ii  libxml-parser-perl                          2.41-1build3                                        amd64        Perl module for parsing XML files
ii  libxml-perl                                 0.08-2                                              all          Perl modules for working with XML
ii  libxml-regexp-perl                          0.04-1                                              all          Perl module for regular expressions for XML tokens
ii  libxml-sax-base-perl                        1.07-1                                              all          base class for SAX drivers and filters
ii  libxml-sax-expat-perl                       0.40-2                                              all          Perl module for a SAX2 driver for Expat (XML::Parser)
ii  libxml-sax-perl                             0.99+dfsg-2ubuntu1                                  all          Perl module for using and building Perl SAX2 XML processors
ii  libxml-twig-perl                            1:3.44-1                                            all          Perl module for processing huge XML documents in tree mode
ii  libxml-writer-perl                          0.623-1                                             all          Perl module for writing XML documents
ii  libxml-xpathengine-perl                     0.13-1                                              all          re-usable XPath engine for DOM-like trees
ii  libxml2:amd64                               2.9.1+dfsg1-3ubuntu4.4                              amd64        GNOME XML library
ii  libxml2:i386                                2.9.1+dfsg1-3ubuntu4.4                              i386         GNOME XML library
ii  libxml2-dev:amd64                           2.9.1+dfsg1-3ubuntu4.4                              amd64        Development files for the GNOME XML library
ii  libxml2-utils                               2.9.1+dfsg1-3ubuntu4.4                              amd64        XML utilities
ii  libxmlgraphics-commons-java                 1.5-4ubuntu1                                        all          Reusable components used by Batik and FOP
ii  libxmlrpc-lite-perl                         0.717-1                                             all          client and server implementation of the XML-RPC protocol
ii  libxmltv-perl                               0.5.63-2                                            all          Perl libraries related to the XMLTV file format for TV listings
ii  poxml                                       4:4.13.0-0ubuntu1                                   amd64        tools for translating DocBook XML files with Gettext
ii  python-libxml2                              2.9.1+dfsg1-3ubuntu4.4                              amd64        Python bindings for the GNOME XML library
ii  python-lxml                                 3.3.3-1ubuntu0.1                                    amd64        pythonic binding for the libxml2 and libxslt libraries
ii  xml-core                                    0.13+nmu2                                           all          XML infrastructure and XML catalog file support
ii  xmltv-util                                  0.5.63-2     

Merci.


- AMD R9 5950x 64 Go Ram / Intel Pentium I7 960 - 12 Go Ram - 6 T0 - Kubuntu 12.04 x64 / Kubuntu 14.04 x64 / Kubuntu 16.04 x64 / Kubuntu 18.04 x64 /  Kubuntu 20.04 x64 / Mint
- DreamPlug Multi Boot / Marvel 1.22 Ghz / Architecture ARM / 512 Mo Ram / Carte-sd 16 Go class 10 / 5 Watts / Debian Squeeze 2.6.39.4
- Raspberry PI 1 / Raspberry PI 2 / Raspberry PI 3 / Raspberry PI 4 : 4Gb
JE SUIS CHARLIE

Hors ligne

#4 Le 27/01/2015, à 10:12

pingouinux

Re : [résolu] python : Traiter un fichier xml

Peux-tu montrer le script complet, et éventuellement le fichier test_04-07-2014_0104.xml (s'il n'y a rien de confidentiel).

Hors ligne

#5 Le 27/01/2015, à 11:39

xunil2003

Re : [résolu] python : Traiter un fichier xml

Bonjour,

Je ne sais pas si il y a un bug sur python 2.7.6 mais sur un autre poste avec Ubuntu 12.04 x64 et python 2.7.3 ça marche ?
Je ne veux pas  changer de version de python, car j'ai fait plusieurs applis et chacune fonctionne avec une version de python qui est utilisé par la version de Ubuntu.

12.04 --- python 2.7.3
14.04 --- python 2.7.6

Cela afin d'éviter à l'utilisateur Linux d'installer (compiler) python.

Le script complet :

laurent@Laurent-Bureau:~$ cat -n  /home/laurent/python/z-wave/test-ml.py
     1  #!/usr/bin/python
     2  # -*-coding:utf-8 -*
     3
     4  from Tkinter import *
     5  import xml.dom.minidom
     6  from xml.dom.minidom import Node
     7  dom = xml.dom.minidom.parse("/home/laurent/python/test/test_04-07-2014_0104.xml" )
     8  Topic=dom.getElementsByTagName('Topic')
     9  i = 0
    10  for node in Topic:
    11      alist=node.getElementsByTagName('Title')
    12      for a in alist:
    13          Title= a.firstChild.data
    14          print Title
laurent@Laurent-Bureau:~$

Le fichier xml

<?xml version="1.0"?>
<root full="1" version="*1.5.622*" model="MiCasaVerde VeraLite" zwave_heal="1" temperature="C" serial_number="35108117
" fwd1="fwd7.mios.com" fwd2="fwd8.mios.com" ir="0" irtx="" loadtime="1404410031" dataversion="410038112" state="2" comment="RFXtrx: Choose the Serial Port">
<sections>
<section name="My Home" id="1"></section>
</sections>
<rooms>
<room name="Buanderie (R.D.C)" id="8" section="1"></room>
<room name="Bureau (R.D.C)" id="6" section="1"></room>
<room name="Chambre Loïc (1er étage)" id="15" section="1"></room>
<room name="Chambre des invités (RDC" id="5" section="1"></room>
<room name="Chambre parent (1er étag" id="16" section="1"></room>
<room name="Chaudière (R.D.C)" id="7" section="1"></room>
<room name="Couloir (R.D.C) " id="4" section="1"></room>
<room name="Couloir escalier " id="3" section="1"></room>
<room name="Cuisine (1er étage)" id="12" section="1"></room>
<room name="Cuisine d&apos;été (R.D.C)" id="9" section="1"></room>
<room name="Hall d&apos;entrée (R.D.C)" id="2" section="1"></room>
<room name="Jardin du bas" id="21" section="1"></room>
<room name="Jardin du haut" id="20" section="1"></room>
<room name="S.D.B (1er étage)" id="14" section="1"></room>
<room name="S.D.B (R.D.C)" id="19" section="1"></room>
<room name="S.D.S (R.D.C)" id="1" section="1"></room>
<room name="Salon (1er étage)" id="18" section="1"></room>
<room name="Salon d&apos;été (R.D.C)" id="10" section="1"></room>
<room name="Véranda (1er étage)" id="13" section="1"></room>
</rooms>
<scenes>
<scene active="0" name="Arrêt" id="56" room="0"></scene>
<scene active="0" name="Ensemble-tv-cdi-rdc-off" id="39" room="0"></scene>
<scene active="0" name="Ensemble-tv-cdp-off" id="41" room="0"></scene>
<scene active="0" name="Ensemble-tv-cdp-on" id="40" room="0"></scene>
<scene active="1" name="Fermeture-volets-roulants" id="8" room="0" state="-1" comment=""></scene>
<scene active="0" name="Freebox_power" id="26" room="0"></scene>
<scene active="0" name="Minuterie" id="4" room="0"></scene>
<scene active="1" name="Minuterie-ensemble-tv-chambre-des-invités" id="9" room="0"></scene>
<scene active="0" name="Nouvelle scène" id="53" room="0"></scene>
<scene active="0" name="Nouvelle scène1" id="1" room="6"></scene>
<scene active="0" name="Ouverture-volets-roulants-jours-repos" id="7" room="0"></scene>
<scene active="0" name="Ouverture-volets-roulants-semaines" id="6" room="0"></scene>
<scene active="0" name="Prises-bureau-loic-off" id="21" room="0"></scene>
<scene active="0" name="Prises-bureau-loic-on" id="20" room="0"></scene>
<scene active="0" name="Redemarrage" id="42" room="0"></scene>
<scene active="0" name="Son-confirmation-55" id="2" room="8"></scene>
<scene active="0" name="Sonnette" id="25" room="0"></scene>
<scene active="0" name="audio-chaudiere-off" id="44" room="0"></scene>
<scene active="0" name="audio-chaudiere-on" id="43" room="0"></scene>
<scene active="0" name="audio-cumulus-off" id="10" room="0"></scene>
<scene active="0" name="audio-cumulus-on" id="3" room="0"></scene>
<scene active="0" name="audio-dd-serveur-off" id="34" room="0"></scene>
<scene active="0" name="audio-dd-serveur-on" id="33" room="0"></scene>
<scene active="0" name="audio-detecteur-mouvement-eau-chaudiere-off" id="22" room="0"></scene>
<scene active="0" name="audio-detecteur-mouvement-eau-chaudiere-on" id="19" room="0"></scene>
<scene active="0" name="audio-ensemble-tv-off-1er-etage" id="12" room="0"></scene>
<scene active="0" name="audio-ensemble-tv-on-1er-etage" id="11" room="0"></scene>
<scene active="0" name="audio-freebox-adsl-off" id="32" room="0"></scene>
<scene active="0" name="audio-freebox-adsl-on" id="31" room="0"></scene>
<scene active="0" name="audio-horloge-led-off" id="16" room="0"></scene>
<scene active="0" name="audio-horloge-led-on" id="15" room="0"></scene>
<scene active="0" name="audio-lampadaire-off" id="14" room="0"></scene>
<scene active="0" name="audio-lampadaire-on" id="13" room="0"></scene>
<scene active="0" name="audio-lave-linge-off" id="28" room="0"></scene>
<scene active="0" name="audio-lave-linge-on" id="27" room="0"></scene>
<scene active="0" name="audio-lave-vaisselle-1E-off" id="36" room="0"></scene>
<scene active="0" name="audio-lave-vaisselle-1e-on" id="35" room="0"></scene>
<scene active="0" name="audio-lave-vaisselle-rdc-off" id="38" room="0"></scene>
<scene active="0" name="audio-lave-vaisselle-rdc-on" id="37" room="0"></scene>
<scene active="0" name="audio-lumiere-couloir-rdc-off" id="30" room="0"></scene>
<scene active="0" name="audio-lumiere-couloir-rdc-on" id="29" room="0"></scene>
<scene active="0" name="audio-sonnette-off" id="17" room="0"></scene>
<scene active="0" name="audio-sonnette-on" id="18" room="0"></scene>
<scene active="0" name="detecteur-innon-chaudiere" id="54" room="0"></scene>
<scene active="0" name="detecteur-mouvement-chaudiere" id="55" room="0"></scene>
<scene active="0" name="envoi releve elec" id="47" room="0"></scene>
<scene active="1" name="rfx-D8-id-89-off" id="52" room="0"></scene>
<scene active="0" name="rfx-D8-id-89-on" id="50" room="0"></scene>
<scene active="0" name="rfx-d8-id-89-off" id="51" room="0"></scene>
<scene active="0" name="x10-d7-off" id="46" room="0"></scene>
<scene active="0" name="x10-d7-on" id="45" room="0"></scene>
<scene active="0" name="x10-e1-off" id="24" room="0"></scene>
<scene active="0" name="x10-e1-on" id="23" room="0"></scene>
</scenes>
<devices>
<device name="Appareil IO générique" altid="e2" id="78" category="11" subcategory="0" room="7" parent="76" temperature="25"></device>
<device name="Battery Monitor" altid="" id="25" category="0" subcategory="-1" room="0" parent="0" status="3"></device>
<device name="Capteur 4 en 1 (mouvement)" altid="25" id="43" category="4" subcategory="3" room="20" parent="1" tripped="0" lasttrip="1387813380" armed="0" batterylevel="48" kwh="108.5000" watts="0" temperature="8" light="372" humidity="90" status="1"></device>
<device name="Chaudière" altid="58" id="103" category="3" subcategory="0" room="7" parent="1" status="0" kwh="40.5330" watts="0" state="-1" comment=""></device>
<device name="Congélateur" altid="39" id="68" category="3" subcategory="0" room="9" parent="1" status="1" level="100" humidity="0" state="-1" comment="" kwh="166.6300" watts="50"></device>
<device name="Countdown timer" altid="" id="69" category="0" subcategory="-1" room="0" parent="0" muted="1" remaining="0" counting="0" event="0"></device>
<device name="Cumulus" altid="29" id="55" category="3" subcategory="0" room="8" parent="1" status="0" kwh="0.0000" watts="0" state="-1" comment=""></device>
<device name="Danfoss Radiator" altid="56" id="101" category="5" subcategory="2" room="3" parent="1" heatsp="21" batterylevel="43" state="-1" comment=""></device>
<device name="Day or Night" altid="" id="70" category="0" subcategory="-1" room="0" parent="0" status="0"></device>
<device name="Detecteur_presence_sds" altid="49" id="88" category="4" subcategory="3" room="1" parent="1" armed="0" tripped="0" lasttrip="1386689944" batterylevel="1" temperature="17"></device>
<device name="Disque dur serveur" altid="33" id="62" category="3" subcategory="0" room="6" parent="1" status="0" state="-1" comment=""></device>
<device name="Détecteur 4 en 1 (lumière)" altid="e3" id="45" category="18" subcategory="0" room="20" parent="43" light="372"></device>
<device name="Détecteur de mouvement" altid="e1" id="77" category="4" subcategory="3" room="7" parent="76" armed="1"></device>
<device name="Détecteur_inondation" altid="45" id="76" category="4" subcategory="3" room="7" parent="1" armed="1" batterylevel="64" state="-1" comment=""></device>
<device name="Ensemble TV Chambre des invités" altid="21" id="42" category="3" subcategory="0" room="5" parent="1" status="0" kwh="0.0000" watts="0" state="-1" comment=""></device>
<device name="Ensemble TV chambre des parents" altid="19" id="40" category="3" subcategory="0" room="16" parent="1" status="0" kwh="0.0000" watts="0" state="-1" comment=""></device>
<device name="Ensemble TV Salon " altid="35" id="64" category="3" subcategory="0" room="18" parent="1" kwh="0.2000" status="0" watts="0" state="-1" comment=""></device>
<device name="Freebox ADSL" altid="37" id="66" category="3" subcategory="0" room="6" parent="1" status="1" kwh="0.0000" temperature="18" watts="9" state="-1" comment=""></device>
<device name="Frigo cuisine d&apos;été" altid="64" id="154" category="3" subcategory="0" room="9" parent="1" status="1" kwh="24.5400" watts="0" state="-1" comment=""></device>
<device name="Frigo-americain" altid="40" id="72" category="3" subcategory="0" room="12" parent="1" status="1" humidity="10" state="-1" comment="" watts="86" kwh="296.5700"></device>
<device name="Horloge numerique led bleu" altid="36" id="65" category="3" subcategory="0" room="18" parent="1" kwh="0.0000" watts="0" status="0" state="-1" comment=""></device>
<device name="Lampadaire" altid="9" id="11" category="3" subcategory="0" room="18" parent="1" status="0" watts="0" kwh="0.3000" tripped="1" lasttrip="1387286672" armed="0" state="-1" comment=""></device>
<device name="Lampe  bureau serveur " altid="55" id="150" category="2" subcategory="0" room="6" parent="1" status="0" level="0" state="-1" comment=""></device>
<device name="Lave linge" altid="30" id="56" category="3" subcategory="0" room="8" parent="1" status="0" kwh="0.0000" watts="0" state="-1" comment=""></device>
<device name="Lave vaiselle" altid="31" id="57" category="3" subcategory="0" room="9" parent="1" status="0" kwh="0.0000" watts="0" state="-1" comment=""></device>
<device name="Lave vaiselle" altid="34" id="63" category="3" subcategory="0" room="12" parent="1" status="0" kwh="0.0000" watts="0" state="-1" comment=""></device>
<device name="Lumiere couloir R.D.C" altid="50" id="89" category="2" subcategory="0" room="4" parent="1" status="0" level="0" kwh="0.0000" watts="0" heatsp="0" state="-1" comment=""></device>
<device name="Mochad Control of cm15a over ethernet" altid="" id="104" category="0" subcategory="-1" room="0" parent="0" ip="192.168.0.2"></device>
<device name="PC Laurent" altid="63" id="140" category="3" subcategory="0" room="6" parent="1" status="0" kwh="0.0000" watts="0" state="-1" comment=""></device>
<device name="Portail  grande ouverture" altid="47" id="83" category="3" subcategory="0" room="20" parent="1" status="0" state="-1" comment=""></device>
<device name="Portail  passage piéton" altid="e2" id="85" category="3" subcategory="0" room="20" parent="83" status="0"></device>
<device name="Prises alarme et  serveur" altid="51" id="90" category="3" subcategory="0" room="6" parent="1" status="1" kwh="183.7800" watts="33" state="-1" comment=""></device>
<device name="Prises bureau " altid="20" id="41" category="3" subcategory="0" room="15" parent="1" status="0" kwh="0.0000" watts="0" state="-1" comment=""></device>
<device name="RFX Light L1.0/A01" altid="LS/L1.0/A01" id="149" category="3" subcategory="0" room="0" parent="117"></device>
<device name="RFX Light L1.0/A05" altid="LS/L1.0/A05" id="138" category="3" subcategory="0" room="0" parent="117" status="0"></device>
<device name="RFX Light L1.0/A06" altid="LS/L1.0/A06" id="122" category="3" subcategory="0" room="0" parent="117" status="1"></device>
<device name="RFX Light L1.0/B01" altid="LS/L1.0/B01" id="129" category="3" subcategory="0" room="0" parent="117"></device>
<device name="RFX Light L1.0/B02" altid="LS/L1.0/B02" id="126" category="3" subcategory="0" room="0" parent="117"></device>
<device name="RFX Light L1.0/B09" altid="LS/L1.0/B09" id="124" category="3" subcategory="0" room="0" parent="117" status="1"></device>
<device name="RFX Light L1.0/B10" altid="LS/L1.0/B10" id="127" category="3" subcategory="0" room="0" parent="117"></device>
<device name="RFX Light L1.0/D01" altid="LS/L1.0/D01" id="136" category="3" subcategory="0" room="0" parent="117"></device>
<device name="RFX Light L1.0/D04" altid="LS/L1.0/D04" id="146" category="3" subcategory="0" room="0" parent="117" status="0"></device>
<device name="RFX Light L1.0/D05" altid="LS/L1.0/D05" id="133" category="3" subcategory="0" room="0" parent="117"></device>
<device name="RFX Light L1.0/D06" altid="LS/L1.0/D06" id="145" category="3" subcategory="0" room="0" parent="117"></device>
<device name="RFX Light L1.0/D08" altid="LS/L1.0/D08" id="132" category="3" subcategory="0" room="0" parent="117" status="1"></device>
<device name="RFX Light L1.0/D09" altid="LS/L1.0/D09" id="128" category="3" subcategory="0" room="0" parent="117" status="0"></device>
<device name="RFX Light L1.0/D10" altid="LS/L1.0/D10" id="120" category="3" subcategory="0" room="0" parent="117" status="1"></device>
<device name="RFX Light L1.0/D11" altid="LS/L1.0/D11" id="130" category="3" subcategory="0" room="0" parent="117" status="0"></device>
<device name="RFX Light L1.0/D12" altid="LS/L1.0/D12" id="147" category="3" subcategory="0" room="0" parent="117" status="1"></device>
<device name="RFX Light L1.0/D13" altid="LS/L1.0/D13" id="152" category="3" subcategory="0" room="0" parent="117" status="1"></device>
<device name="RFX Light L1.0/D14" altid="LS/L1.0/D14" id="153" category="3" subcategory="0" room="0" parent="117"></device>
<device name="RFX Light L1.0/D16" altid="LS/L1.0/D16" id="131" category="3" subcategory="0" room="0" parent="117"></device>
<device name="RFX Light L1.0/E01" altid="LS/L1.0/E01" id="118" category="3" subcategory="0" room="0" parent="117" status="1"></device>
<device name="RFX Light L1.0/E02" altid="LS/L1.0/E02" id="143" category="3" subcategory="0" room="0" parent="117" status="0"></device>
<device name="RFX Light L1.0/E03" altid="LS/L1.0/E03" id="134" category="3" subcategory="0" room="0" parent="117" status="0"></device>
<device name="RFX Light L1.0/E04" altid="LS/L1.0/E04" id="139" category="3" subcategory="0" room="0" parent="117"></device>
<device name="RFX Light L1.0/E09" altid="LS/L1.0/E09" id="148" category="3" subcategory="0" room="0" parent="117"></device>
<device name="RFX Light L1.0/L04" altid="LS/L1.0/L04" id="144" category="3" subcategory="0" room="0" parent="117"></device>
<device name="RFX Light L1.0/L05" altid="LS/L1.0/L05" id="141" category="3" subcategory="0" room="0" parent="117"></device>
<device name="RFX Remote L1.0/A" altid="RC/L1.0/A" id="123" category="0" subcategory="-1" room="0" parent="117"></device>
<device name="RFX Remote L1.0/B" altid="RC/L1.0/B" id="125" category="0" subcategory="-1" room="0" parent="117"></device>
<device name="RFX Remote L1.0/D" altid="RC/L1.0/D" id="121" category="0" subcategory="-1" room="0" parent="117"></device>
<device name="RFX Remote L1.0/E" altid="RC/L1.0/E" id="119" category="0" subcategory="-1" room="0" parent="117"></device>
<device name="RFX Remote L1.0/L" altid="RC/L1.0/L" id="142" category="0" subcategory="-1" room="0" parent="117"></device>
<device name="RFX Remote X10/SR/030C12" altid="SR/X10/SR/030C12" id="137" category="23" subcategory="0" room="0" parent="117" batterylevel="100"></device>
<device name="RFX Temp T10/53249" altid="TS/T10/53249" id="151" category="17" subcategory="0" room="0" parent="117"></device>
<device name="RFXtrx controller device" altid="" id="117" category="0" subcategory="-1" room="0" parent="0" state="2" comment="Erreur au démarrage du Lua"></device>
<device name="Rideaux" altid="65" id="155" category="8" subcategory="0" room="18" parent="1" status="1" level="100" watts="0" kwh="0.0100" state="-1" comment=""></device>
<device name="Samsung TV Remote" altid="" id="21" category="9" subcategory="0" room="18" parent="0" TVIp="192.168.0.17" TVModel="UE40ES8000"></device>
<device name="Serveur MSI" altid="60" id="116" category="3" subcategory="0" room="6" parent="1" status="0" kwh="0.0000" watts="0" state="-1" comment=""></device>
<device name="Sirene Everspring SE814" altid="62" id="135" category="3" subcategory="0" room="6" parent="1" status="0" batterylevel="90" state="-1" comment=""></device>
<device name="Sonde 4 en 1 (température)" altid="e1" id="44" category="17" subcategory="0" room="20" parent="43" temperature="8"></device>
<device name="Sonde 4 en 1 Humidite" altid="e5" id="46" category="16" subcategory="0" room="20" parent="43" humidity="90"></device>
<device name="Sonde Accus Bureau" altid="17" id="36" category="1" subcategory="0" room="6" parent="1" batterylevel="40" status="1" temperature="24" watts="0" humidity="64" state="-1" comment=""></device>
<device name="Sonde Accus chambre de loic" altid="54" id="96" category="1" subcategory="0" room="15" parent="1" batterylevel="60" status="1" temperature="25" humidity="59" state="-1" comment=""></device>
<device name="Sonde Accus Chambre des invités" altid="28" id="52" category="1" subcategory="0" room="5" parent="1" batterylevel="60" status="1" temperature="24" watts="0" kwh="6.6000" humidity="60" state="-1" comment=""></device>
<device name="Sonde Accus chambre parents (1er étage)" altid="53" id="92" category="1" subcategory="0" room="16" parent="1" batterylevel="60" status="1" temperature="25" humidity="48" state="-1" comment=""></device>
<device name="Sonde Accus S.D.B" altid="27" id="48" category="1" subcategory="0" room="14" parent="1" batterylevel="60" status="1" watts="0" temperature="24" humidity="58" state="-1" comment=""></device>
<device name="Sonde Accus Salon (1er étage)" altid="10" id="13" category="1" subcategory="0" room="18" parent="1" batterylevel="40" status="1" temperature="25" humidity="56" state="-1" comment=""></device>
<device name="Sonde Accus Veranda" altid="32" id="59" category="1" subcategory="0" room="13" parent="1" batterylevel="60" status="1" temperature="28" watts="0" humidity="39" state="-1" comment=""></device>
<device name="Sonde Humidite chambre de loic" altid="e2" id="98" category="16" subcategory="0" room="15" parent="96" temperature="22" humidity="59"></device>
<device name="Sonde Humidite Chambre des invités" altid="e2" id="54" category="16" subcategory="0" room="5" parent="52" humidity="60"></device>
<device name="Sonde Humidite chambre parents (1er étage)" altid="e2" id="94" category="16" subcategory="0" room="16" parent="92" temperature="22" humidity="48"></device>
<device name="Sonde Humidite Veranda" altid="e2" id="61" category="16" subcategory="0" room="13" parent="59" temperature="25" humidity="39"></device>
<device name="Sonde Humidity Salon" altid="e2" id="15" category="16" subcategory="0" room="18" parent="13" temperature="18" humidity="56"></device>
<device name="Sonde Humidité S.D.B" altid="e2" id="50" category="16" subcategory="0" room="14" parent="48" temperature="12" level="10" status="1" watts="69" humidity="58"></device>
<device name="Sonde Temperature Bureau" altid="e1" id="37" category="17" subcategory="0" room="6" parent="36" temperature="24"></device>
<device name="Sonde Temperature chambre de loic" altid="e1" id="97" category="17" subcategory="0" room="15" parent="96" temperature="25"></device>
<device name="Sonde Temperature Chambre des invités" altid="e1" id="53" category="17" subcategory="0" room="5" parent="52" temperature="24"></device>
<device name="Sonde Temperature chambre parents (1er étage)" altid="e1" id="93" category="17" subcategory="0" room="16" parent="92" temperature="25"></device>
<device name="Sonde Temperature S.D.B" altid="e1" id="49" category="17" subcategory="0" room="14" parent="48" temperature="24"></device>
<device name="Sonde Temperature Salon" altid="e1" id="14" category="17" subcategory="0" room="18" parent="13" humidity="60" temperature="25"></device>
<device name="Sonde Temperature Veranda" altid="e1" id="60" category="17" subcategory="0" room="13" parent="59" temperature="28" humidity="59"></device>
<device name="Sondes Humidite Bureau" altid="e2" id="38" category="16" subcategory="0" room="6" parent="36" humidity="64"></device>
<device name="Sonnette" altid="43" id="75" category="3" subcategory="0" room="1" parent="1" status="1" kwh="0.0000" level="1" watts="0" state="-1" comment=""></device>
<device name="Sonnette portative" altid="48" id="87" category="0" subcategory="-1" room="6" parent="1" status="0" batterylevel="50" tripped="0" lasttrip="1389522259" armed="0" heatsp="21" state="-1" comment=""></device>
<device name="Tableau  conso 1er étage" altid="e1" id="81" category="21" subcategory="0" room="0" parent="80" watts="88" kwh="919.2570"></device>
<device name="Tableau conso général" altid="46" id="80" category="21" subcategory="0" room="0" parent="1" batterylevel="100" watts="380" state="-1" comment="" kwh="1962.3260"></device>
<device name="Tableau conso R.D.C" altid="e2" id="82" category="21" subcategory="0" room="0" parent="80" watts="240" kwh="232.4000"></device>
<device name="VeraAlerts" altid="" id="23" category="0" subcategory="-1" room="0" parent="0" LastRecipient="" LastMsgSent="19:54:04 Thu Jul 03"></device>
<device name="VirtualSwitch" altid="" id="71" category="0" subcategory="-1" room="0" parent="0" text1="VIRTUAL" text2="SWITCH" status="1"></device>
<device name="Volet roulant" altid="38" id="67" category="8" subcategory="0" room="5" parent="1" status="0" level="0" watts="0" kwh="0.2300" state="-1" comment=""></device>
<device name="Volet roulant" altid="41" id="73" category="8" subcategory="0" room="1" parent="1" status="0" level="0" watts="0" kwh="0.0000" state="-1" comment=""></device>
<device name="Webcall Dialer" altid="" id="22" category="3" subcategory="0" room="0" parent="0" status="0"></device>
<device name="X10 A1" altid="X-A1" id="105" category="2" subcategory="0" room="0" parent="104"></device>
<device name="X10 A2" altid="X-A2" id="106" category="2" subcategory="0" room="0" parent="104"></device>
<device name="X10 D7" altid="X-D7" id="109" category="2" subcategory="0" room="0" parent="104"></device>
<device name="X10 E1" altid="X-E1" id="110" category="2" subcategory="0" room="0" parent="104" status="1" level="100"></device>
<device name="X10 E1" altid="A-E1" id="111" category="3" subcategory="0" room="0" parent="104" status="1"></device>
<device name="X10 E1" altid="D-E1" id="112" category="2" subcategory="0" room="0" parent="104" status="1" level="100"></device>
<device name="X10 M1" altid="M-M1" id="107" category="4" subcategory="3" room="0" parent="104" armed="0"></device>
<device name="X10 M2" altid="M-M2" id="108" category="4" subcategory="3" room="0" parent="104" armed="0"></device>
</devices>
<categories>
<categorie name="Interface" id="1"></categorie>
<categorie name="Dimmable Light" id="2"></categorie>
<categorie name="Switch" id="3"></categorie>
<categorie name="Sensor" id="4"></categorie>
<categorie name="Thermostat" id="5"></categorie>
<categorie name="Window Covering" id="8"></categorie>
<categorie name="Remote Control" id="9"></categorie>
<categorie name="Generic I/O" id="11"></categorie>
<categorie name="Humidity Sensor" id="16"></categorie>
<categorie name="Temperature Sensor" id="17"></categorie>
<categorie name="Light Sensor" id="18"></categorie>
<categorie name="Power Meter" id="21"></categorie>
<categorie name="Alarm Partition" id="23"></categorie>
</categories>
</root>

Merci.

Dernière modification par xunil2003 (Le 27/01/2015, à 11:45)


- AMD R9 5950x 64 Go Ram / Intel Pentium I7 960 - 12 Go Ram - 6 T0 - Kubuntu 12.04 x64 / Kubuntu 14.04 x64 / Kubuntu 16.04 x64 / Kubuntu 18.04 x64 /  Kubuntu 20.04 x64 / Mint
- DreamPlug Multi Boot / Marvel 1.22 Ghz / Architecture ARM / 512 Mo Ram / Carte-sd 16 Go class 10 / 5 Watts / Debian Squeeze 2.6.39.4
- Raspberry PI 1 / Raspberry PI 2 / Raspberry PI 3 / Raspberry PI 4 : 4Gb
JE SUIS CHARLIE

Hors ligne

#6 Le 27/01/2015, à 12:16

pingouinux

Re : [résolu] python : Traiter un fichier xml

C'est cette ligne qui renvoie une liste vide, mais je n'en sais pas plus.

Topic=dom.getElementsByTagName('Topic')

Testé avec Python 2.7.6 et 3.4.0.

Hors ligne

#7 Le 27/01/2015, à 15:07

claudius01

Re : [résolu] python : Traiter un fichier xml

Je fais très peu de python mais il me semble que d'après Python – Read XML file (DOM Example)

Topic=dom.getElementsByTagName('Topic')

recherche le(s) nœud(s) nommé(s) 'Topic' qui, sauf erreur de ma part, n'est (ne sont) pas présent(s) dans le fichier fourni (ainsi d'ailleurs que le nœud nommé 'Title' ;-).

xunil2003 a écrit :

Je ne sais pas si il y a un bug sur python 2.7.6 mais sur un autre poste avec Ubuntu 12.04 x64 et python 2.7.3 ça marche ?

Je doute qu'il y ait un bug aussi énorme dans Python...

Dernière modification par claudius01 (Le 27/01/2015, à 16:08)

Hors ligne

#8 Le 30/01/2015, à 11:25

xunil2003

Re : [résolu] python : Traiter un fichier xml

Bonjour,

Désolé mais avec ce code :

from Tkinter import *
import xml.dom.minidom
from xml.dom.minidom import Node
dom = xml.dom.minidom.parse("/home/laurent/python/test/test_04-07-2014_0104.xml" )
valeur1=dom.getElementsByTagName('room')
for node in valeur1:
    alist=node.getElementsByTagName('name')
    for a in alist:
        valeur2= a.firstChild.data
        print valeur2

Quand j'exécute le code python, y a rien  :

laurent@Laurent-Bureau:~$ python /home/laurent/python/test/test-xml-2.py
laurent@Laurent-Bureau:~$ 

Pourtant, il y a bien dans le fichier xml (plus haut) les noeuds "room" et "name".

Merci.

Dernière modification par xunil2003 (Le 30/01/2015, à 11:26)


- AMD R9 5950x 64 Go Ram / Intel Pentium I7 960 - 12 Go Ram - 6 T0 - Kubuntu 12.04 x64 / Kubuntu 14.04 x64 / Kubuntu 16.04 x64 / Kubuntu 18.04 x64 /  Kubuntu 20.04 x64 / Mint
- DreamPlug Multi Boot / Marvel 1.22 Ghz / Architecture ARM / 512 Mo Ram / Carte-sd 16 Go class 10 / 5 Watts / Debian Squeeze 2.6.39.4
- Raspberry PI 1 / Raspberry PI 2 / Raspberry PI 3 / Raspberry PI 4 : 4Gb
JE SUIS CHARLIE

Hors ligne

#9 Le 30/01/2015, à 11:59

claudius01

Re : [résolu] python : Traiter un fichier xml

Sauf erreur de ma part, si "room" est bien un nœud (accessible par getElementsByTagName), "name" est un attribut (accessible donc par getAttribute)...

Hors ligne

#10 Le 30/01/2015, à 14:34

xunil2003

Re : [résolu] python : Traiter un fichier xml

Bonjour,

Je vois pas trop le rapport avec getAttribute ?
A moins qu'il y est une autre possibilité de le faire avec getAttribute .

J'ai fait ceci :

from Tkinter import *
import xml.dom.minidom 

# Fichier xml 
filename = ('/home/laurent/python/test/test_04-07-2014_0104.xml')

dom = xml.dom.minidom.parse(filename)

# Noeud      
valeurListe = fichier.getElementsByTagName("room")

# Attribut       
for valeur in valeurListe:
    print valeur.attributes['name'].value
    print valeur.attributes['id'].value
    print valeur.attributes['section'].value
    print ("-------------------------------")

Ce qui me donne bien le résultat voulu :

laurent@Laurent-Bureau:~$ python /home/laurent/python/test/test-xml-2.py
Buanderie (R.D.C)
8
1
-------------------------------
Bureau (R.D.C)
6
1
-------------------------------
Chambre Loïc (1er étage)
15
1
-------------------------------
Chambre des invités (RDC
5
1
-------------------------------
Chambre parent (1er étag
16
1
-------------------------------
Chaudière (R.D.C)
7
1
-------------------------------
Couloir (R.D.C) 
4
1
-------------------------------
Couloir escalier 
3
1
-------------------------------
Cuisine (1er étage)
12
1
-------------------------------
Cuisine d'été (R.D.C)
9
1
-------------------------------
Hall d'entrée (R.D.C)
2
1
-------------------------------
Jardin du bas
21
1
-------------------------------
Jardin du haut
20
1
-------------------------------
S.D.B (1er étage)
14
1
-------------------------------
S.D.B (R.D.C)
19
1
-------------------------------
S.D.S (R.D.C)
1
1
-------------------------------
Salon (1er étage)
18
1
-------------------------------
Salon d'été (R.D.C)
10
1
-------------------------------
Véranda (1er étage)
13
1
-------------------------------
laurent@Laurent-Bureau:~$ 

Merci.

Dernière modification par xunil2003 (Le 30/01/2015, à 14:39)


- AMD R9 5950x 64 Go Ram / Intel Pentium I7 960 - 12 Go Ram - 6 T0 - Kubuntu 12.04 x64 / Kubuntu 14.04 x64 / Kubuntu 16.04 x64 / Kubuntu 18.04 x64 /  Kubuntu 20.04 x64 / Mint
- DreamPlug Multi Boot / Marvel 1.22 Ghz / Architecture ARM / 512 Mo Ram / Carte-sd 16 Go class 10 / 5 Watts / Debian Squeeze 2.6.39.4
- Raspberry PI 1 / Raspberry PI 2 / Raspberry PI 3 / Raspberry PI 4 : 4Gb
JE SUIS CHARLIE

Hors ligne

#11 Le 30/01/2015, à 15:27

claudius01

Re : [résolu] python : Traiter un fichier xml

De rien.
Passe le sujet en Résolu en éditant ton premier post, A+

Hors ligne