[XML] modification fichier xml
bonjour
j'ai un fichier xml de cette forme par exemple qui se nomme par exemple test.xml
Code:
1 2 3 4 5 6 7
| <?xml version="1.0" encoding="ISO-8859-1" ?>
<note name="" isbool="true">
<to>Nicolas</to>
<from>Carla</from>
<heading>Rappel</heading>
<body>essai</body>
</note> |
mon soucis et que parfois le programme ne va m'envoyer que cette partie là
Code:
1 2 3 4
| <to>Nicolas</to>
<from>Carla</from>
<heading>Rappel</heading>
<body>essai</body> |
donc la le document n'est plus valide
ma question est que voudrait rajouter les balises racines avec la version du document en utilisant php mais je suis bloqué
voici le code dont je travaille :
Code:
1 2 3 4 5 6 7 8
| $this->xmlDOM=new DOMDocument();
if($this->valideDoc('test.xml'))
{
$this->xmlDOM->Load('test.xml');
}else{
$this->xmlDOM->Load($this->addheaderFooter('test.xml'));
}
$events=$this->xmlDOM->childNodes->item(0)->childNodes; |
ce que voudrai faire c'est de tester d'abord si le document contient bien le balise racine sinon je le traite avec un autre methode qui rajoute les entetes et la version
jai trouvé ceci mais je suis bloqué quand je veut rajouter le body c'est à dire le fichier xml manquant (pas de balise racine)
Ici la methode createElement prend comme parametre un objet alors que moi j'ai string le nom de mon fichier
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
// Instance de la class DomDocument
$doc = new DOMDocument();
// Definition de la version et l'encodage
$doc->version = '1.0';
$doc->encoding = 'ISO-8859-1';
// Ajout d'un commentaire a la racine
$comment_elt = $doc->createComment('Created By FormatiX.Eu');
$doc->appendChild($comment_elt);
// Ajout la balise 'note' a la racine
$note_elt = $doc->createElement('note');
$doc->appendChild($note_elt);
$to_elt = $doc->createElement('to', 'Nicolas');
// Specifier que les elements to/from/heading/body sont dans 'note'
$note_elt->appendChild($to_elt);
// Rendre Joli ;)
$doc->formatOutput = true;
// Afficher le document XML
echo $doc->saveXML();
// Sauver le document XML sous le nom simple.xml
$doc->save('test.xml'); |
merci bien pour votre aide