Python --> expat

Fermé
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 - 7 févr. 2012 à 00:44
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 7 févr. 2012 à 12:36
Bonjour à toutes et à tous,

Je cherche à extraire les information d'un fichier xml à l'aide de Python3 et expat.
Voici les sources (épurées et minimales)
<?xml version="1.0" encoding="utf-8"?>
<table>
<tr parental-rating="1" rating-podcast="1" kind="episode" role="row" metrics-loc="Track_" audio-preview-url="http://feedproxy.google.com/~r/belrtl/votezpourmoi/~5/LbkWEDLmmzI/CA00000757109.mp3" preview-album="Bel RTL - Votez pour moi" preview-artist="Lamy et Leborgne (Bel RTL)" preview-title="Votez pour moi du 03 fécrier 2012 (03/02/12)" preview-duration="365000" adam-id="110204704" row-number="1" class="podcast-episode">
  </tr>
  <tr parental-rating="1" rating-podcast="1" kind="episode" role="row" metrics-loc="Track_" audio-preview-url="http://feedproxy.google.com/~r/belrtl/votezpourmoi/~5/qkNAQPNItBY/CA00000756711.mp3" preview-album="Bel RTL - Votez pour moi" preview-artist="Lamy et Leborgne (Bel RTL)" preview-title="Votez pour moi du 02 février 2012 (02/02/12)" preview-duration="395000" adam-id="110171340" row-number="2" class="podcast-episode">
  </tr>
</table>
johand@osiris: ~/src/Votez_pour_moi $ cat bidon.py
#!/usr/bin/python3
from xml.parsers import expat
import sys

import urllib.request

filename = 'id332042710' + '-2.html'
def getmp3URL(name, attrs):
    if (name == "tr" ):
        prin("Row found...")


try:
    fild = open(filename , "rb")            
except:
    print( ("Error opening %s\n") % filename)
    sys.exit();
parser = expat.ParserCreate()
parser.StartElementHandler = getmp3URL
parser.ParseFile(fild)
Cependant j'ai systématiquement une erreur lors de l'exécution de bidon.py...
johand@osiris: ~/src/Votez_pour_moi $ ./bidon.py 
Traceback (most recent call last):
  File "./bidon.py", line 20, in <module>
    parser.ParseFile(fild)
xml.parsers.expat.ExpatError: undefined entity: line 3, column 0


Le document XML semble pourtant bien formé.
Quelqu'un aurait-il une idée?
Merci à toutes et à tous.





1 réponse

Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
7 févr. 2012 à 12:36
tu cherche tr, tu ne devrais pas plutôt cherche table ?
Pourquoi ouvre tu ton fichier en binaire ?
0