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 :

Problème pour récupérer toutes les informations d'un XML


Sujet :

Python

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 100
    Points : 47
    Points
    47
    Par défaut Problème pour récupérer toutes les informations d'un XML
    Bonjour tout le monde,

    Je viens vers vous car j'ai un problème pour récupérer toutes les informations d'un fichier XML avec DOM.

    Le problème est que je n'arrive pas à récupérer le contenu de ce qui est souligné (entre les balises <test:span>): je n'arrive pas à trouver un bon algo pour vérifier et rajouter le contenu avec les balises getElementsByTagName("text:span") tout en gardant l'ordre des mots...

    J'ai essayé différentes solutions, qui ne marchent pas vraiment à chaque fois.

    Ci dessous mon fichier xml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    <table:table table:name="Tableau1" table:style-name="Tableau1">
    <table:table-column table:style-name="Tableau1.A"/>
    <table:table-column table:style-name="Tableau1.B"/>
    <table:table-column table:style-name="Tableau1.C"/>
    <table:table-column table:style-name="Tableau1.D"/>
    <table:table-column table:style-name="Tableau1.E"/>
    <table:table-column table:style-name="Tableau1.F"/>
    <table:table-header-rows>
    <table:table-row table:style-name="Tableau1.1">
    <table:table-cell table:style-name="Tableau1.A1" table:number-columns-spanned="2" office:value-type="string">
    <text:p text:style-name="P36">Exemple1</text:p></table:table-cell><table:covered-table-cell/>
    <table:table-cell table:style-name="Tableau1.A1" office:value-type="string">
    <text:p text:style-name="P37">Exemple 2</text:p><text:p text:style-name="P37">d&apos;exemple</text:p></table:table-cell>
    <table:table-cell table:style-name="Tableau1.A1" office:value-type="string">
    <text:p text:style-name="Table_20_Heading">Example3</text:p></table:table-cell>
    <table:table-cell table:style-name="Tableau1.A1" office:value-type="string">
    <text:p text:style-name="Table_20_Heading">Example4</text:p></table:table-cell>
    <table:table-cell table:style-name="Tableau1.F1" office:value-type="string">
    <text:p text:style-name="Table_20_Heading">Example5</text:p></table:table-cell></table:table-row></table:table-header-rows>
    <table:table-row table:style-name="Tableau1.2">
    <table:table-cell table:style-name="Tableau1.A2" office:value-type="string">
    <text:p text:style-name="P38">blabla</text:p></table:table-cell>
    <table:table-cell table:style-name="Tableau1.B2" office:value-type="string">
    <text:p text:style-name="P39">blablabla</text:p></table:table-cell>
    <text:p text:style-name="P39"><text:span text:style-name="T48">BLABLA SOULIGNE</text:span> : blablabla</text:p>
    <table:table-cell table:style-name="Tableau1.B2" office:value-type="string">
    <text:list text:style-name="List_20_1">
    <text:list-item text:start-value="1">
    <text:p text:style-name="P41">text1,</text:p></text:list-item>
    <text:list-item>
    <text:p text:style-name="P41">text2</text:p></text:list-item>
    <text:list-item>
    <text:p text:style-name="P41">text3</text:p></text:list-item></text:list></table:table-cell>
    <table:table-cell table:style-name="Tableau1.E2" office:value-type="string">
    <text:p text:style-name="P42">N</text:p></table:table-cell>
    <table:table-cell table:style-name="Tableau1.F2" office:value-type="string">
    <text:list text:style-name="List_20_1">
    <text:list-item text:start-value="1">
    <text:p text:style-name="P41">blabla</text:p></text:list-item>
    <text:list-item>
    <text:p text:style-name="P41">blabla2</text:p></text:list-item>
    <text:list-item>
    <text:p text:style-name="P41">blabla3/text:p>
    </text:list-item></text:list></table:table-cell></table:table-row>
    Ici le code que j'utilise pour parser le contenu du fichier xml (celui qui marche, qui récupérer juste un None pour la partie du <test:span>:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    def parse_dom(name_file):
            fd = open(name_file, 'r')
            content = xml.dom.minidom.parse(name_file)
            for sheet in sheet_list:
                    sheet_name = sheet.getAttribute('table:style-name')
                    cells = sheet.getElementsByTagName('table:table-cell')
                    print "La ligne contient: %d" % cells.length
                    for cell in cells:
                        value = cell.getElementsByTagName("text:p")
                        print "le nombre de valeur est %d" % value.length
                        for i in range(value.length):
                            node = value.item(i)
                            print node.childNodes[0].nodeValue
     
            fd.close()
    Je ne sais pas si c'est très claire... :/ N'hésitez pas à me demander de préciser certains points.

    Bonne journée et merci d'avance.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 100
    Points : 47
    Points
    47
    Par défaut
    Impression que le sujet n'inspire pas!

  3. #3
    Membre expérimenté
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    946
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 946
    Points : 1 351
    Points
    1 351
    Par défaut
    Salut,
    Citation Envoyé par neo62matrix Voir le message
    Impression que le sujet n'inspire pas!
    C'est normal, ton bout de code n'est pas autonome. Ça ne donne pas envie de s'y intéresser. Poste un bout de code qui reproduise ton problème et tu auras des réponses.

    A+

    Pfeuh

Discussions similaires

  1. [Regex] Récupérer toutes les lettres suivies d'un espace
    Par yougho dans le forum Général Java
    Réponses: 4
    Dernier message: 09/07/2015, 17h52
  2. Problème pour lister toutes les tâches
    Par base-un dans le forum VBA Project
    Réponses: 1
    Dernier message: 03/04/2014, 19h06
  3. [MySQL] problème pour récupérer toutes les lignes contenue dans un select
    Par Baleze dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/10/2012, 20h42
  4. Réponses: 6
    Dernier message: 23/03/2009, 15h40
  5. [MySQL] Requête pour récupérer toutes les valeurs d'un tableau
    Par djoumusic dans le forum PHP & Base de données
    Réponses: 40
    Dernier message: 24/08/2008, 22h11

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