Problème XML suppression
Résolu/Fermé
griko
Messages postés
343
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
29 avril 2014
-
27 oct. 2010 à 18:27
griko Messages postés 343 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 29 avril 2014 - 12 nov. 2010 à 10:11
griko Messages postés 343 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 29 avril 2014 - 12 nov. 2010 à 10:11
A voir également:
- Problème XML suppression
- Forcer suppression fichier - Guide
- Xml viewer - Télécharger - Édition & Programmation
- Suppression page word - Guide
- Suppression cookies - Guide
- Office xml handler - Télécharger - Traitement de texte
6 réponses
avion-f16
Messages postés
19249
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 juin 2024
4 504
2 nov. 2010 à 17:56
2 nov. 2010 à 17:56
$dom->load(longmetrage_xml.xml');Ça commence déjà mal
if ($suppfilm->hasAttribute("id") == $idfilm) {DOMElement::hasAttribute retourne un booléen. Ça fonctionne quand même ainsi si $idfilm n'est pas null, false, une chaine vide ou 0.
$dom->save(longmetrage_xml.xml');Encore une erreur
Voilà la ligne qui pose erreur corrigée :
$suppfilms->getElementsByTagName('films')->item(0)->removeChild($suppfilm);
L'explication : $suppfilms représente le noeud <longmetrage>, hors, c'est depuis le noeud <films> qu'il faut appeler la méthode removeChild() (car c'est ce noeud qui est parent au <film /> qu'on désire supprimer).
griko
Messages postés
343
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
29 avril 2014
10
27 oct. 2010 à 22:34
27 oct. 2010 à 22:34
Personne à une idée ?
avion-f16
Messages postés
19249
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 juin 2024
4 504
29 oct. 2010 à 17:49
29 oct. 2010 à 17:49
Salut.
Ça serait bien d'avoir le code du traitement complet, et aussi la structure du XML.
Ça serait bien d'avoir le code du traitement complet, et aussi la structure du XML.
MastercroW
Messages postés
1094
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
31 mai 2019
163
29 oct. 2010 à 17:55
29 oct. 2010 à 17:55
Sans source, nous pouvons rien faire comme le dit avion-f16.
Car la si tu veux on va pas t'inventer des codes qui nous sont venus par hasard x').
Car la si tu veux on va pas t'inventer des codes qui nous sont venus par hasard x').
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
griko
Messages postés
343
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
29 avril 2014
10
29 oct. 2010 à 19:06
29 oct. 2010 à 19:06
Voici le code PHP
Et la structure
Et voici la ligne ajoutée entre <films>
switch($filmcm_sortiesall['type_film_o_cm']){ case'longmetrage': $dom = new DomDocument(); $dom->load(longmetrage_xml.xml'); $suppfilms = $dom->documentElement; $film = $suppfilms->getElementsByTagName("film"); foreach($film as $suppfilm){ if ($suppfilm->hasAttribute("id") == $idfilm){ if ($suppfilm->getAttribute("id") == $idfilm){ //print_r($suppfilm); $suppfilms->removeChild($suppfilm); } } } $dom->save(longmetrage_xml.xml'); break; }
Et la structure
<?xml version="1.0" encoding="ISO-8859-1"?> <longmetrage> <films></films> </longmetrage>
Et voici la ligne ajoutée entre <films>
<film id="" name="" url=""/>
griko
Messages postés
343
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
29 avril 2014
10
12 nov. 2010 à 10:11
12 nov. 2010 à 10:11
Merci @avion, problème résolu !
Modifié par griko le 2/11/2010 à 19:10
Autrement à l'instant, je viens de voir un problème sur un fichier qui fonctionnais bien !
En faite il y a 8 jours, j'ai utilisé $dom->load(le fichier) et là ça fonctionnais très bien mais aujourd'hui je dois réutiliser ça mais ce n'est plus le fichier actualisé en date d'aujourd'hui mais celui de la dernière fois !
Pourquoi ? !
J'ai pensé qu'il fallait fermer le fichier après lecture, vrai ou faux ? Sinon pourquoi ça fait ça ?
Edit : Sinon, peut être que c'est mieux créer un nouveau fichier de copier dedans avant de lire et après lecture, supprimer ce fichier ?
2 nov. 2010 à 19:23
2 nov. 2010 à 19:27
J'ai donc utiliser $dom->load()
Mais aujourd'hui, j'ai découvert en ré utilisant cette fonction que c'était les mêmes données que la semaine dernière.
Sachant que le fichier xml à été modifier depuis la semaine dernière.
Donc je comprends pas pourquoi j'ai encore l'ancien fichier alors que on m'avait dit que l'utilisation de load() permettait de rechercher le fichier.
Une idée ? de comment faire pour avoir le fichier à jour ?
2 nov. 2010 à 19:35
Si non, alors vérifie que le chmod soit suffisant pour que PHP puisse écrire sur le fichier, ou que tu utilises bien $dom->save()
Si oui, alors c'est plutôt étrange.
Modifié par griko le 2/11/2010 à 19:38
Sachant que quand je regarde le fichier http://www.xxxx.com/n1/Salles.xml, dans un navigateur il affiche le contenu de cette semaine.