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 affichage namespace avec lxml


Sujet :

Python

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Femme Profil pro
    Ingénieur hydrographe
    Inscrit en
    Mai 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur hydrographe

    Informations forums :
    Inscription : Mai 2017
    Messages : 8
    Par défaut Problème affichage namespace avec lxml
    Bonjour, je viens de commencer à développer en Python et je ne suis pas une experte non plus en xml.

    J’ai des problèmes avec l’utilisation de la librairie lxml et la gestion des namespaces.

    Je cherche à modifier le fichier xml suivant:
    Nom : xml_orig.png
Affichages : 681
Taille : 6,8 Ko


    Je souhaite obtenir le xml ci-dessous
    Nom : xml_obj.png
Affichages : 655
Taille : 10,3 Ko


    Pour cela j’utilise le code suivant:
    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
    from lxml import etree as ET
     
    parser = ET.XMLParser(remove_blank_text=True)
    tree = ET.parse('namespace.xml',parser)
    root = tree.getroot()
     
    child1 = root.find('.//{http://www.isotc211.org/2005/gmd}child1')
    parent = child1.getparent()
    id = root.index(child1)
     
    child2 = ET.Element('{http://www.isotc211.org/2005/gmd}child2', nsmap = {'srv':'http://www.isotc211.org/2005/srv'})
    child_child2 = ET.SubElement(child2,'{http://www.isotc211.org/2005/gco}CharacterString')
    child_child2.text = 'text'
     
    parent.insert(id+1,child2)
     
    ET.ElementTree(root).write('namespace2.xml', pretty_print = True)
    Nom : code_xml.png
Affichages : 961
Taille : 18,3 Ko


    Le problème est que je n’arrive pas à faire afficher le namespace spécifié dans le code dans le fichier xml de sortie. J’obtiens le résultat suivant :
    Nom : xml_res.png
Affichages : 632
Taille : 9,1 Ko


    Je ne sais pas si c’est pertinent, dans le code, de définir un namespace à « child2 » sachant qu’il l’a déjà hérité de « parent ».

    Mais comment faire afficher le namespace voulu dans la balise « child2 » ?
    Avez-vous des idées ?

    Merci beaucoup de votre aide
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Problème affichage tableau avec Chrome 2
    Par Erazion dans le forum GWT et Vaadin
    Réponses: 3
    Dernier message: 27/05/2009, 09h53
  2. problème affichage image avec NO-REPEAT
    Par nicomax34 dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 19/03/2009, 09h02
  3. Problème affichage subreport avec paramètre
    Par gamma dans le forum iReport
    Réponses: 6
    Dernier message: 12/04/2007, 14h54
  4. [MySQL] problème affichage image avec sql
    Par igaurillac dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 14/02/2007, 18h04
  5. Problème affichage form avec Internet Explorer dans un menu
    Par dupard2006 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 28/03/2006, 19h26

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