comment supprimer fils (livre) de noeud "biblio" ?

Signaler
-
Messages postés
197
Date d'inscription
mardi 20 janvier 2004
Statut
Membre
Dernière intervention
20 février 2013
-
voila mon fichier biblio .xml
<?xml version="1.0"?>

<livre>
personne
<titre>projet xml</titre>
<description>2012</description>
</livre>
<livre>
auteur2
<titre>projet xml</titre>
<description>dom php</description>
</livre>


//je veux supprimer un live dont le titre est récupéré de puis un formulaire
en utilisant Dom php et merci d'avance .

2 réponses

Messages postés
14677
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
11 juillet 2020
143
Bonjour,

Comment charges-tu le fichier ?
Si tu utilises l'espace de nom Sustem.Xml et le XmlDocument, explores la structure des objets.

v----Signature--------v----------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
Messages postés
197
Date d'inscription
mardi 20 janvier 2004
Statut
Membre
Dernière intervention
20 février 2013
1
Bonjour,

En utilisant XPath (avec DOMDocument) ça devrait passer.
<?php

$docXML = new DOMDocument('1.0', 'utf-8');
$docXML->load('test.xml');

$xpath = new DOMXPath($docXML);
$query = '//biblio/livre[titre="projet xml"]';
$entries = $xpath->query($query);

foreach ($listEntries as $entry) {
    $entry->parentNode->removeChild($entry);
}    

$docXML->save('test.xml');



On peut faire pareil, sans utiliser XPath, en utilisant la méthode getElementsByTagName et en faisant une comparaison entre la valeur du node et la valeur recherchée.

bonne journée