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] Supprimer un n%u0153ud spécifique


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Par défaut [DOM] Supprimer un n%u0153ud spécifique
    Bonjour,

    J'ai le document xml ci dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <structure>
      <sous_struct>
          <name>test</name>
          <dates>
            <date>12-10-2008</date>
            <date>15-01-2008</date>
            <date>12-12-2009</date>
          </dates>
      </struct>
    </structure>
    J'aimerais pouvoir supprimer juste une date par exemple la date 15-01-2008, j'ai bien essayé avec ce qu'il y a ci dessous mais j'arrive pas a spécifier le noeud que je veux supprimer


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        $doc = new DOMDocument;
        $doc->preserveWhiteSpace = FALSE;
     
        $doc->formatOutput = TRUE;
        $doc->load("test.xml");	
     
        $xpath = new DOMXpath($doc);
        $nodelist = $xpath->query('//sous_struct/dates');
        $oldnode = $nodelist->item(0)->getElementsByTagName('date')->item(0);
        $oldnode->parentNode->removeChild($oldnode);
    Merci pour votre aide.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 101
    Par défaut
    si l'utilisation du DOM n'est pas indispensable, ça peut être fait plus basiquement avec un file_get_contents puis un str_replace(ou ereg replace) puis fopen, fwrite, fclose


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $content = file_get_contents( $file ) ;
    $content = str_replace(...) ;
     
    $fichier = fopen( $file ,'w') ;
    fwrite ( $fichier, $content ) ;
    fclose ( $fichier ) ;

  3. #3
    Membre éclairé Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Par défaut
    Merci pour cette piste je vais voir meme si je préférais utiliser DOM.

Discussions similaires

  1. [XML DOM]Supprimer plusieurs noeud
    Par Shandler dans le forum APIs
    Réponses: 9
    Dernier message: 06/06/2007, 19h30
  2. [DOM] supprimer un noeud avec une expression xpath
    Par Fab88 dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 01/06/2007, 11h45
  3. [DOM] Supprimer un objet
    Par Mister Nono dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 07/05/2007, 12h54
  4. [DOM] Supprimer des balise avec dom
    Par Shandler dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 04/06/2006, 19h03
  5. [PHP5][DOM]Supprimer le noeud courant
    Par panpan dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 03/05/2006, 15h01

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