IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Python et XML avec minodom


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de dedalios
    Homme Profil pro
    concepteur d'application
    Inscrit en
    Février 2008
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : concepteur d'application
    Secteur : Santé

    Informations forums :
    Inscription : Février 2008
    Messages : 495
    Par défaut Python et XML avec minodom
    bonjour

    je cherche a utiliser minidom sur la base de cette note
    www.fil.univ-lille1.fr/~marvie/python/chapitre4.html

    En ligne de commande sous window10 (pas de linux ou d'unix possible dans l’environnement )

    Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>> from xml.dom import minidom
    >>> doc = minidom('cas11.xml')
    voici la réponse de python
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    TypeError: 'module' object is not callable

    donc je suppose qu'il manque une phase d'installation du module minidom ?

    le but final lire un fichier xml
    identifier des balises et les modifier pour construire des simulations

    Peut-être ce module n'est pas le plus adapté. et ne me parler pas de linux , car impossible pour moi de disposer d'un tel environnement chez l'utilisateur finale.

  2. #2
    Membre chevronné
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2012
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2012
    Messages : 321
    Par défaut
    Bonjour,
    Je ne connais pas ce module mais regardez à nouveau le lien que vous donnez vous même.
    Le premier exemple de code de ce lien indique une utilisation sous la forme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> from xml.dom import minidom
    >>> doc = minidom.parse('/tmp/contacts.xml')
    >>> doc
    <xml.dom.minidom.Document instance at 0x...>
    Dans votre code, vous n'appelez que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    >>> from xml.dom import minidom
    >>> doc = minidom('cas11.xml')

  3. #3
    Membre éclairé Avatar de dedalios
    Homme Profil pro
    concepteur d'application
    Inscrit en
    Février 2008
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : concepteur d'application
    Secteur : Santé

    Informations forums :
    Inscription : Février 2008
    Messages : 495
    Par défaut fichier xml HS
    Citation Envoyé par killian68 Voir le message
    Bonjour,
    Je ne connais pas ce module mais regardez à nouveau le lien que vous donnez vous même.
    Le premier exemple de code de ce lien indique une utilisation sous la forme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> from xml.dom import minidom
    >>> doc = minidom.parse('/tmp/contacts.xml')
    >>> doc
    <xml.dom.minidom.Document instance at 0x...>
    Dans votre code, vous n'appelez que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    >>> from xml.dom import minidom
    >>> doc = minidom('cas11.xml')

    c'est en fait le fichier xml qui est HS

    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "D:\Python36\lib\xml\dom\minidom.py", line 1958, in parse
    return expatbuilder.parse(file)
    File "D:\Python36\lib\xml\dom\expatbuilder.py", line 910, in parse
    with open(file, 'rb') as fp:
    FileNotFoundError: [Errno 2] No such file or directory: '/tmp/contacts.xml'

  4. #4
    Membre éclairé Avatar de dedalios
    Homme Profil pro
    concepteur d'application
    Inscrit en
    Février 2008
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : concepteur d'application
    Secteur : Santé

    Informations forums :
    Inscription : Février 2008
    Messages : 495
    Par défaut xml et python
    from xml.dom import minidom
    ou
    from lxml import etree

    voir d'autre solution?
    quelle serait le meilleurs outil de parser XML permettant d'identifier une ou plusieurs balises donnée possiblement présente de 0 à n fois dans un fllux XML. De modifier cette balise et de reconstruire le fichiers XML?

  5. #5
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par défaut
    Citation Envoyé par dedalios
    c'est en fait le fichier xml qui est HS
    "en fait"? comment ça? Vous voulez dire ce que killian68 poste ne soit pas sur le point de la question posée? Si oui, dites-le avant passer à autre chose.

  6. #6
    Membre expérimenté
    Profil pro
    Loisir
    Inscrit en
    Novembre 2011
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Loisir

    Informations forums :
    Inscription : Novembre 2011
    Messages : 159
    Par défaut
    Bonjour,

    essayez ceci dans votre cas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    from xml.dom import minidom
    doc = minidom.parse('cas11.xml')
    au lieu de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    from xml.dom import minidom
    doc = minidom('cas11.xml')
    La réponse de killian68 répond à votre problème il me semble.

    Juste une question : cela fait-il longtemps que vous utilisez python ? Vous ne semblez pas comprendre les messages d'erreur qui vous ont été retournés :

    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "D:\Python36\lib\xml\dom\minidom.py", line 1958, in parse
    return expatbuilder.parse(file)
    File "D:\Python36\lib\xml\dom\expatbuilder.py", line 910, in parse
    with open(file, 'rb') as fp:
    FileNotFoundError: [Errno 2] No such file or directory: '/tmp/contacts.xml'
    Vous indique que le fichier contacts.xml dans le dossier /tmp n'existe pas. Cela semble normal puisque qu'il s'agit d'un document spécialement présenté dans l'exemple et qu'il vous faut remplacer par le vôtre.

    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    TypeError: 'module' object is not callable
    Pour les callables je vous renvoie à http://sametmax.com/quest-ce-quun-callable-en-python/
    Je vais prendre l'exemple de numpy :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    >>> import numpy
     
    >>> numpy([1,2,3])
    Traceback (most recent call last):
      File "<console>", line 1, in <module>
    TypeError: 'module' object is not callable
     
    >>> numpy.array([1,2,3])
    array([1, 2, 3])
    Numpy est la bibliothèque mais n'est en aucun cas un callable (fonction, classe, ...)

    Un exemple plus proche de votre cas est pyplot de matplotlib :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    >>> from matplotlib import pyplot
     
    >>> pyplot([1,2],[10,5])
    Traceback (most recent call last):
      File "<console>", line 1, in <module>
    TypeError: 'module' object is not callable
     
    >>> pyplot.plot([1,2],[10,5])
    [<matplotlib.lines.Line2D object at 0x07091270>]
    Je vous laisse réfléchir sur ces informations.

    Bonne journée

Discussions similaires

  1. pickler un fichier XML avec python
    Par Gldev_comp dans le forum Général Python
    Réponses: 1
    Dernier message: 10/07/2008, 05h31
  2. Traitement XML avec python
    Par diaboloche dans le forum Général Python
    Réponses: 5
    Dernier message: 02/03/2008, 00h32
  3. Lire un fichier XML avec Python
    Par eyquem dans le forum Général Python
    Réponses: 2
    Dernier message: 19/12/2007, 13h54
  4. Gérer un fichier XML avec Python
    Par ffets dans le forum Général Python
    Réponses: 25
    Dernier message: 31/10/2007, 14h47
  5. Python probleme pour traitement fichier Xml avec l'API dom
    Par chenimitz dans le forum Général Python
    Réponses: 11
    Dernier message: 30/10/2007, 19h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo