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

Bibliothèques et frameworks PHP Discussion :

[DOM] Problème de modification de xml


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 33
    Par défaut [DOM] Problème de modification de xml
    Boujour,


    j'ai un fichier xml a modifier qui ressemble a ca :

    Code XML : 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
     
    <iri>
    	<head>
    		<meta name="id" content="kia_gout"/>
    	</head>
     
      <body>
        <ensembles>
          <ensemble id="xxx" >
            <decoupage id="de_PPP" >
              <elements>
     
                <element id="elD_1" order="" prev="" ... />
                .... des centaines de ligne de ce genre a modifier
                   => c'est cette liste de noeu que jaimerais récupéré pour modifier une partie de leurs attribut dont l'id
     
              </elements>
            </decoupage>
          </ensemble>
        </ensembles>
     
        <medias>
     
            <decoupage id="de_PPP" >
     
         </medias>
      </body>
    </iri>

    Et j'aimerais avec dom modifier certains attributs des balises <element> petite filles du noeud decoupage dont l'id est égale à "de_FPP"

    Mais le problème c'est que je veux récupérer le noeud "<decoupage id="de_PPP" >" qui est contenu dans les balises <ensembles> et pas le noeud du même nom qui est contenu plus tard dans le fichier xml (entre les balises <media>)!

    C'est pour cela que les méthodes que "getElementsByTagName" et "getAttribute" ne marchent pas car elles rendent plusieurs résultats

    Ou bien si je leurs dit que ces méthodes doivent s'appliquer à partir de tel noeud, ça me renvoie le message d'erreur suivant : "Fatal error: Call to a member function getAttribute() on a non-object"

    Alors si quelqu'un a une technique qui permettent de récupérer les bons éléments, au moins en théorie ce serait cool!

    parce que actuellement j'ai aucun code qui marche!

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Utilisez une expression XPath pour cibler cet élément précis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /iri/body/ensembles/ensemble/decoupage[@id = "de_PPP"]
    Si je n'ai pas fait d'erreur.

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 33
    Par défaut
    Citation Envoyé par julp
    Utilisez une expression XPath pour cibler cet élément précis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /iri/body/ensembles/ensemble/decoupage[@id = "de_PPP"]
    Si je n'ai pas fait d'erreur.
    Ca marche ton truc, mais c'est du xPath qui fonctionne quand on utlise un traitement par feuille de style xsl et xslt, dans mon cas je cherche a faire le traitement grace a dom et sans passer par des feuilles de style!

    D'un autre coté ce que je demande a dom est peut etre au dessus de ces moyen...

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 33
    Par défaut
    C en grande partie resolue!

    a force de boucle foreach, de if et de getElementsByTagName je suis arrivé selectionné les bons éléments!

    Par contre je sais pas comment jai éviter les boucles infini vu que jai 7 boucles imbrique les une dans les autres...

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Citation Envoyé par tiliut
    Ca marche ton truc, mais c'est du xPath qui fonctionne quand on utlise un traitement par feuille de style xsl et xslt, dans mon cas je cherche a faire le traitement grace a dom et sans passer par des feuilles de style!

    D'un autre coté ce que je demande a dom est peut etre au dessus de ces moyen...
    Elle sert à quoi à votre avis la classe DomXPath (et ses méthodes) qui fait partie de l'extension en question ?

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

Discussions similaires

  1. [DOM] Chargement de données dans fichier XML ?
    Par titoc dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 01/06/2008, 12h31
  2. [DOM] Problème d'upload puis parsage fichier XML
    Par Valter dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 02/05/2008, 14h55
  3. [DOM] Classe pour modification d'un fichier XML
    Par Dookie dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 11/10/2007, 14h59
  4. [DOM] problème lors du parcours du fichier xml
    Par krfa1 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 11/05/2007, 07h24
  5. [DOM] problème de génération d'un xml avec dom
    Par WalidNat dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 04/05/2006, 17h12

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