[PHP] Modifier un fichier xml avec php/domxml

Modifier un fichier xml avec php/domxml [PHP] - PHP - Programmation

Marsh Posté le 19-05-2004 à 10:48:56    

Hello tout le monde  :hello:  
 
bon j'ai encore un prob avec php/xml. Dans ce cas précis j'utilise le parseur domxml.
 
j'ai un fichier xml de ce type :

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <document xmlns:xi="http://www.w3.org/2001/XInclude">
  3. <banniere>toto</bannier>
  4. <menu_haut>toto</menu_haut>
  5. <accueil>toto</accueil>
  6. <axe_recherche>toto</axe_recherche>
  7. <chercheur>toto</chercheur>
  8. <actualite>toto</actualite>
  9. <publication>toto</publication>
  10. <recherche>toto</recherche>
  11. <manifestation>toto</manifestation>
  12. <divers>toto</divers>
  13. <menu_bas>toto</menu_bas>
  14. <contenu/>
  15. </document>


 
 
et une fonction php qui doit inserer du text dans la balise contenu (pour le moment je veux juste afficher le nom du premier noeud) :

Code :
  1. $xml_file = "xml/monfichier.xml"; //mon fichier
  2. $test="toto";//le texte a inclure
  3. $doc_xml = xmldocfile(realpath($xml_file)); //overture du doc
  4. $noeud_racine = domxml_root($doc_xml); //je recup le noeud racine
  5. $premier_noeud=$noeud_racine->first_child(); //je prend le premier fils
  6. print($premier_noeud->node_name()); //j'affiche son nom et cela ne marche pas


 
Le probleme c'est que le fichier xml mise en page comme ecrit dans l'exemple cela ne marche pas, par contre le fichier xml tout ecrit sur une seul et unique ligne cela marche...d'ou est ce que cela peut venir ???
 
edit : j'ai peut etre une piste : En fait j'ai un "espace" dans mes balises quand je fait un retour chariot donc une belle indentation.il me sort des nom de noeud bizarre (#text) et je crois que cela vient de la...


Message édité par Phive le 19-05-2004 à 11:03:13

---------------
/!\ Post powered by Phive-online.com /!\
Reply

Marsh Posté le 19-05-2004 à 10:48:56   

Reply

Marsh Posté le 19-05-2004 à 11:47:53    

en fait j'ai trouver j'ai juste oublier de lui dire de cherche les noeud de type élément et non pas de text avec ca : XML_ELEMENT_NODE
 
voila :)
 


---------------
/!\ Post powered by Phive-online.com /!\
Reply

Marsh Posté le 19-05-2004 à 11:55:57    

par contre now j"'ai un autre probleme : la chaine ke je veux inclure contient des balises spécial du type "< > / \" et lorsque je l'inclus dans mon doc xml il me remplace tout ces spécial char par des &lt; &rt; etc...
comment empecher cela ? je veux garder ma chaine tel quel


Message édité par Phive le 19-05-2004 à 11:56:07

---------------
/!\ Post powered by Phive-online.com /!\
Reply

Marsh Posté le 19-05-2004 à 14:06:12    

c bon tout marche nickel...merci a tous :D LOL


---------------
/!\ Post powered by Phive-online.com /!\
Reply

Marsh Posté le 22-05-2004 à 01:32:03    

montre l'évolution de ton code ça peut servir à d'autres. :)

Reply

Marsh Posté le 22-05-2004 à 01:48:29    

j'ai vu que php5 apportait bcp au xml
 
tu confirme que ca change par rapport au "peu" de support xml de php4?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed