bonjour
j'ai un fichier xml de cette forme par exemple qui se nomme par exemple test.xml

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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