Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > XML > DOM
DOM Forum d'entraide pour l'extension DOM permettant de manipuler des documents XML en PHP 5 (approche DOM). Avant de poster -> tutoriels DOM
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/02/2007, 20h24   #1
Invité de passage
 
Inscription : février 2007
Messages : 19
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 19
Points : 2
Points : 2
Par défaut [DOM] Problème avec appendChild

Je travail actuellement sur des fichiers xml en php, et je doit y rajouter des elements. J'utilise donc la fonction appendChild. Mais le probleme est que lorsque j'execute mon fichier, mon navigateur tente de me l'ouvrir avec notepad ou me l'enregistrer sur le disque.
Apres petit debuggage il se trouve qu'il insere bien mon premier element mais apparement il bloque sur le suivant.
Voici un morceau de code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
	$good_nodes=$xpath->query($query);
	 echo 'Nombre de result : '.$good_nodes->length.'<br>';
	//On efface tous les resultats
	$xml_node=$dom->getElementsByTagName('livre')->item(0);
 
	$xml_node->nodeValue='';
 
          //On enregistre les bons resultats
          foreach($good_nodes as $new_node)
	 {
	     echo "On insere un element <br>";						           $xml_node->appendChild($new_node);
	}

Si quelqu'un avait une piste cela me serait d'une grande utilité
Merci d'avance
it_bcn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2007, 15h29   #2
Invité de passage
 
Inscription : février 2007
Messages : 19
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 19
Points : 2
Points : 2
Je pense avoir trouvé d'ou vient mon probleme.
En faite cela viendrait de ma requete xpath:

Code :
1
2
 
$good_nodes=$xpath->query($query);
En fait le premier element contenu dans $good_nodes est correct, il est bien inserer avec appendChild
Mais le deuxieme element n'est pas correct du tout car il est rempli de caractères spéciaux, qui ne sont pas dans le fichier xml de base. Lorsque l'on arrive a la fonction appendChild cela provoque donc l'erreur citée dans le message précédent.
Code :
1
2
3
4
5
6
7
8
9
10
11
 
   H
      ¨96TA
      Ð86AYA 
      ¸>6JOSE
      2**
      2**
 
 
          D01
          ˆ?6TACION STANDARD
Quelqu'un aurait une idée d'ou pourrait venir ces caractères spéciaux et comment y remedier ?
it_bcn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2007, 10h52   #3
Invité de passage
 
Inscription : février 2007
Messages : 19
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 19
Points : 2
Points : 2
Le xml que je recoit est encoder en ISO-8859-1.
J'ai entendu dire que les requetes XPath aurait du mal avec cette encodage, qu'elles préfereraient l'encodage UTF-8
Quelqu'un pourrait me confirmer sa please ?
it_bcn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2007, 12h12   #4
Membre éprouvé
 
Avatar de goodpz
 
Inscription : février 2007
Messages : 475
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 475
Points : 474
Points : 474
libxml travaille en interne avec utf8. Il faut passer les paramètres en utf8 à ses fonctions (indépendamment de l'encoding réel du document). utf8_encode/decode() te seront utiles si tu jongles entre utf8 et iso-8859-1
goodpz est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h21.


 
 
 
 
Partenaires

Hébergement Web