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] Gérer les commentaires


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 6
    Points : 2
    Points
    2
    Par défaut [DOM] Gérer les commentaires
    Bonjour,

    Dans mon fichier xml, j'ai un commentaire pour chaque balise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <param>
      <!-- Infos générales -->
      <general>
        <!-- Nom -->
        <name></name>
        <!-- URL -->
        <url></url>
        <!-- Organisateur -->
        <organizer></organizer>
        <!-- Responsable du site web -->
        <webmaster></webmaster>
      </general>
    </param>
    Je voudrais à l'aide de DOM pouvoir modifier ou supprimer n'importe quel commentaire.

    Si je fait un getElementsByTagName, je ne sais pas ce qu'il faut mettre comme nom de balise.

    Existe-t-il une méthode simple pour accéder à un commentaire du fichier xml ?

    Merci.

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    J'ai réussi à trouver un moyen, j'utilise la propriété previousSibling d'un DOMNode qui permet de récupérer le nom du noeud précédant.

    Ainsi en connaissant le nom de la balise, on peut supprimer son commentaire, dans mon cas je pars du principe que le commentaire est avant la balise.

    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
     
    // type DOMDocument
    $dom = new DOMDocument();
     
    // permet d'indenter le fichier xml			
    $dom->formatOutput = TRUE;	
    $dom->preserveWhiteSpace=FALSE;						
     
    // chargement du fichier xml
    $dom->load( $chemin_xml );	
     
    // type DOMNode		
    $parent_node = $dom->getElementsByTagName( $balise_pere )->item(0);
    $node_value  = $parent_node->getElementsByTagName( $nom_balise )->item(0)->previousSibling->nodeName;
     
    // si le noeud précédant est bien un commentaire, il est supprimé
    if ( $node_value == '#comment' ) 
       // type DOMNode		
       $node_delete = $parent_node->removeChild ( $dom->getElementsByTagName( $nom_balise )->item(0)->previousSibling );  
     
    // sauvegarde du fichier xml
    $dom->save ( $chemin_xml );

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/11/2014, 16h57
  2. Tchart et les commentaires
    Par danuz dans le forum XMLRAD
    Réponses: 3
    Dernier message: 30/09/2003, 12h53
  3. Comment gérer les espaces blancs?
    Par Lambo dans le forum XML/XSL et SOAP
    Réponses: 10
    Dernier message: 16/05/2003, 09h44
  4. gérer les jpg dans une fenetre directdraw???
    Par Anonymous dans le forum DirectX
    Réponses: 1
    Dernier message: 14/06/2002, 13h39

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