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 :

Interpreter XML avec python


Sujet :

Python

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Février 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 10
    Par défaut Interpreter XML avec python
    Bonsoir,
    je travaille en ce moment sur un projet de mmorpg en flash et je programme mon serveur en python. Seulement j'ai un petit problème : je ne sais pas comment interpréter le xml qu'envoie flash au serveur . (Je précise que je débute en python). Y a t'il un module spécifique pour le XML? Si oui lequel et comment il s'utilise(en gros)?

    Merci d'avance.

    Edit: Bon en fait j'ai presque résolu mon problème .
    Je met le résultat de mes recherches au cas ou quelqu'un serai dans le même cas que moi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    # Importation des modules
    from xml.dom import minidom
     
    msgClient = "<bdd_view>ghfigldfgh</bdd_view>"
    msgXML = minidom.parseString(msgClient)
    if msgXML.firstChild.nodeName == "bdd_view":
            print "Oh une requete!"
    else:
            print "moche"
    Edit2: Mouai pas si résolu que sa en fait.
    Je récupère mon msg comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgClient = self.connexion.recv(1024)
    Et quand mon serveur reçois le message il me met:
    ExpatError: not well-formed <invalid token>
    Je pense que l'erreur viens du fait qu'il ne reconnais pas mon message en temps que string. Avez vous une idée?
    edit3: Résolu!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if msgClient.endswith('\x00'):
                        msgClient = msgClient[:-1]

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Février 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 10
    Par défaut
    Juste une autre petite question et après je vous embête plus:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    for ligne in curs:
                     # On ecrit la liste d'usernames et de passwords
                     message = "<rep_bdd"
                     n = 0
                     while n<2:
                                   att = "att%s" % n
                                   message += " %s=\"%s\"" % (att,ligne[n])
                                   n += 1
             message += "></rep_bdd>"
             print message
    J'aimerai remplacer le while n<2: par un truc qui compte le nombre de données contenues dans ligne.
    exemple:
    ligne = < 'donnée 1', 'donnée 2'>
    >> 2

    Merci d'avance

  3. #3
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Est-ce que tu peux nous donner la tête de ton XML qui cause une erreur ?

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Février 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 10
    Par défaut
    En fait mon problème de XML est résolu. Je profitait juste du poste pour poser une autre question.
    Maintenant mon problème consiste à compter le nombre de données contenue dans un (heu.. je sait pas trop comment sa s'appelle en fait).
    Quand je fait :
    print ligne # Ligne c'est le truc^^
    Il me répond :
    < 'Valeur1', 'Valeur2'>
    Et moi je cherche juste un script qui me permet de compter le nombre de valeur de ligne.

    Excusez moi si se n'est pas très clair mais j'ai un peu de mal à expliquer.

  5. #5
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Tu peux donner un exemple réel ?

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Février 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 10
    Par défaut
    Ok voici un exemple :
    D'abord voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    for ligne in curs:
            message = "<rep_bdd"
            n = 0
            print ligne
            while n<2:
                    att = "att%s" % n
                    message += " %s=\"%s\"" % (att, ligne[n])
                    n += 1
    message += "></rep_bdd>"
    print message
    Et voici ce qu'il donne pour les valeurs Test01 et test 02:
    <rep_bdd att0="Test01" att1="Test02"></rep_bdd>
    Mais ce code marche bien seulement temps qu'il n'y a que 2 valeurs.
    Donc se que je cherche c'est un script qui compte le nombre de valeurs.
    Les valeurs sont contenus dans "ligne" sous cette forme :
    <'Test01', 'Test02'>
    Est-ce un peu plus compréhensible?

  7. #7
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    On va dire qu'un tag de cette forme là n'est pas valide, donc je ne sais pas trop quoi répondre

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Février 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 10
    Par défaut
    Ah excuse moi j'ai mal recopier :
    Ce n'est pas:
    <'Test01', 'Test02'>
    Mais:
    <u'Test01', u'Test02'>
    Sa change quelque chose?

  9. #9
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Non. Une balise valide, c'est <cle att1="val1" att2="val2">, par exemple.

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Février 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 10
    Par défaut
    Ah tu parlait de ma balise XML?
    <rep_bdd att0="Test01" att1="Test02"></rep_bdd>
    Il faut bien la refermer à un moment sinon quand je la récupère dans flash ça génère des erreurs.
    De toute façon ce n'est pas sur la balise que je cherche à interagir.
    Sa se n'est pas une balise:
    <u'Test01', u'Test02'>
    c'est le truc que me sort:
    et ce que je cherche à faire c'est compter le nombre de données contenu dans ligne.(LEs données sont récupérées à partir d'une base de donnée)

  11. #11
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    C'est quoi comme type, ligne ?

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Février 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 10
    Par défaut
    Je sais pas vraiment, il est défini comme ça :
    Curs étant un curseur sqlite3 ayant reçu des valeurs grâce à une requête sql.

    Edit: Avec un il me dit que c'est un sqlite3.row.

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Février 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 10
    Par défaut
    Bon, j'ai fini par trouver .
    Tout simplement :
    Merci de tes réponses.

    @+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lecture dun fichier xml avec python
    Par merlinerick dans le forum Interfaçage autre langage
    Réponses: 6
    Dernier message: 29/07/2009, 13h49
  2. 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
  3. Traitement XML avec python
    Par diaboloche dans le forum Général Python
    Réponses: 5
    Dernier message: 02/03/2008, 00h32
  4. Lire un fichier XML avec Python
    Par eyquem dans le forum Général Python
    Réponses: 2
    Dernier message: 19/12/2007, 13h54
  5. 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

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