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] Modifier le nom d'un noeud


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 114
    Par défaut [DOM] Modifier le nom d'un noeud
    Bonsoir tout le monde,

    Je voudrais modifier le nom d'un noeud. Voici par exemple mon fichier XML :
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <hihi>
        <test attribut=ok>
             <autrebalise>aaa</autrebalise>
       </test>
     
        <test attribut=ok1>
             <autrebalise>aaa1</autrebalise>
       </test>
     
        <test attribut=ok2>
             <autrebalise>aaa2</autrebalise>
       </test>
    </hihi>

    Je souhaiterais modifier toutes les balises "test" en balises "blabla" pour avoir ça :

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <hihi>
        <blabla attribut=ok>
             <autrebalise>aaa</autrebalise>
       </blabla>
     
        <blabla attribut=ok1>
             <autrebalise>aaa1</autrebalise>
       </blabla>
     
        <blabla attribut=ok2>
             <autrebalise>aaa2</autrebalise>
       </blabla>
    </hihi>

    Pour l'instant j'ai essayé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	$modif=$dom->getElementsByTagName("test");
    	foreach($modif as $modiftest)
    	{
    		$modiftest->tagName="blabla";
    	}
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	$modif=$dom->getElementsByTagName("test");
    	foreach($modif as $modiftest)
    	{
    		$modiftest->nodeName="blabla";
    	}
    mais cela me retourne l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: main() [<a href='function.main'>function.main</a>]: Cannot write property in...
    Quelqu'un aurait-il une solution plus simple et qui fonctionne svp ?

    Merci beaucoup pour votre aide et bonne soirée.

  2. #2
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 114
    Par défaut
    J'ai trouvé la solution en contournant le problème. J'ai parcouru toutes les lignes de mon fichier (avec fopen cette fois) en cherchant le mot à remplacer et en faisant un str_replace et cela fonctionne.

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

Discussions similaires

  1. [DOM] Modifier le contenu d'un noeud complet
    Par getrude dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 04/07/2012, 12h48
  2. Modifier le nom d'un noeud (XML)
    Par saymon dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 17/04/2009, 16h47
  3. [DOM] Récupérer le nom du premier noeud d'un fichier XML en PHP
    Par ePsymon dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 08/02/2008, 10h17
  4. [DOM] Modifier un noeud dans un fichier XML
    Par erivoil dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 04/01/2007, 13h11
  5. [DOM] changer le nom d'un noeud
    Par iznogoud36 dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 08/07/2006, 13h45

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