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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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?

+ 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