Bonjour,
Je cherche a faire un truc tout con mais je n'y arrive pas ca me gave. J'ai des fichiers XML de ce type :
Code :
- <?xml version="1.0" encoding="UTF-8" ?>
- <Trees>
- <Tree>
- <Name>Chélicérates</Name>
- <Node>
- <Node>
- <Name>Mérostomes</Name>
- </Node>
- <Node>
- <Name>Arachnides</Name>
- </Node>
- <Name>Chélicérates</Name>
- </Node>
- </Tree>
- </Trees>
|
Donc vraiment des fichiers de base... Et j'aimerai arriver a ca :
Code :
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPE arbre SYSTEM 'arbre.dtd'>
- <Trees>
- <Tree>
- <Name>Chélicérates</Name>
- <Node>
- <Node>
- <Name>Mérostomes</Name>
- </Node>
- <Node>
- <Name>Arachnides</Name>
- </Node>
- <Name>Chélicérates</Name>
- </Node>
- </Tree>
- </Trees>
|
Donc j'ai fais un truc tout con avec des fichiers mais ca foire :
Code :
- $contenuFic=file_get_contents($fichierxml) or die ("Erreur file_get_contents" );
- echo "avant remplacement, contenuFic : $contenuFic<br/>";
- if(!str_replace("<?xml version=\"1.0\" encoding=\"UTF-8\"?>","<?xml version=\"1.0\" encoding=\"UTF-8\"?><!DOCTYPE arbre SYSTEM 'arbre.dtd'>",$contenuFic))
- echo "remplacement loupé contenuFic : $contenuFic<br/>";//<?
- else echo "remplacement effectué, contenuFic : $contenuFic<br/>";
- file_put_contents($fichierxml,$contenuFic) or die ("Erreur file_put_contents" );
|
Donc ici avant remplacement $contenuFic est ok ca m'a bien récuperé tous le fichier XML. Apres mon str_replace marche mais $contenuFic est de la meme valeur qu'avant le str_replace... Bon apres le write marche aussi mais bon vu que le str_replace a pas vraiment fonctionné
Apres j'ai essayé en essayant d'ajouter un noeud fils à l'entete du document XML via la librairie DOM. Mais je n'arrive pas a recuperer l'entete du document, si je vais a la racine ca va directement a la 1ere balise Tree...
Quelqu'un a une idée ? Merci