Fonction PHP SimpleXMLElement :: saveXML ()

Définition et utilisation

XML est un langage de balisage permettant de partager les données sur le Web, XML est à la fois lisible par l'homme et par machine. La classe SimpleXMLElement représente un document XML en PHP.

le SimpleXMLElement::saveXML()function forme une chaîne XML de l'objet SimpleXMLElement actuel et la renvoie. Si vous passez une valeur de chaîne représentant un nom de fichier en tant que paramètre, cette fonction enregistre la chaîne XML dans le fichier spécifié.

Syntaxe

SimpleXMLElement::saveXML([$file_name]);

Paramètres

Sr. Non Paramètre et description
1

file_name (Optional)

Il s'agit d'une valeur de chaîne représentant le nom du fichier dans lequel vous devez stocker la chaîne XML formée.

Valeurs de retour

Cette fonction renvoie une chaîne représentant la chaîne XML en cas de succès et la valeur booléenne FALSE en cas d'échec.

Si vous avez passé le nom de fichier facultatif en tant que paramètre, cette fonction renvoie TRUE en cas de succès et FALSE en cas d'échec.

Version PHP

Cette fonction a été introduite pour la première fois dans la version 5 de PHP et fonctionne dans toutes les versions ultérieures.

Exemple

L'exemple suivant illustre l'utilisation de la fonction SimpleXMLIterator :: saveXML ().

<html>
   <head>
      <body>
         <?php
            $str = "<?xml version='1.0' standalone='yes'?>
            <Tutorial>
               <Name>JavaFX</Name>
               <Pages>535</Pages>
               <Author>Krishna</Author>
               <Version>11</Version>
            </Tutorial>";
            $xml = new SimpleXMLElement($str); 
            $xml_string = $xml->saveXML();
            print($xml_string); 
         ?>      
      </body>
   </head>   
</html>

Cela produira le résultat suivant -

JavaFX 535 Krishna 11

Exemple

Voici un exemple de cette fonction avec un nom de fichier de paramètres optionnel -

<html>
   <head>
      <body>
         <?php
            $str = "<?xml version='1.0' standalone='yes'?>
            <Tutorial>
               <Name>JavaFX</Name>
               <Pages>535</Pages>
               <Author>Krishna</Author>
               <Version>11</Version>
            </Tutorial>";
            $xml = new SimpleXMLElement($str);
            //Adding the child node
            $xml->addChild('Price', '600'); 
            $xml->saveXML("output.xml");
         ?>      
      </body>
   </head>   
</html>

Si vous vérifiez le contenu du fichier de sortie output.xml, vous pouvez observer l'élément XML ajouté comme indiqué ci-dessous -

<?xml version="1.0" standalone="yes"?>
<Tutorial>
   <Name>JavaFX</Name>
   <Pages>535</Pages>
   <Author>Krishna</Author>
   <Version>11</Version>
   <Price>600</Price>
</Tutorial>

Exemple

Dans l'exemple suivant, nous essayons d'ajouter un nouvel enregistrement à un fichier XML -

Data.xml:

<?xml version="1.0" encoding="utf-8"?>
<Tutorials>
   <Tutorial>
      <Name>JavaFX</Name>
      <Pages>535</Pages>
      <Author>Krishna</Author>
      <Version>11</Version>
   </Tutorial>

   <Tutorial>
      <Name>CoffeeScript</Name>
      <Pages>235</Pages>
      <Author>Kasyap</Author>
      <Version>2.5.1</Version>
   </Tutorial>
</Tutorials>

Sample.xml

<html>
   <head>      
      <body>         
         <?php
            $doc = new DOMDocument;
            $xml = simplexml_load_file("Data.xml");
		      
            //file to SimpleXMLElement 
            $simpleXmlElement = simplexml_import_dom($xml);

            //Adding the child node
            $child = $xml->addChild('Tutorial');
            $child->addChild('Name', 'OpenCV');
            $child->addChild('Pages', '230');
            $child->addChild('Author', 'Maruthi');
            $child->addChild('Version', '5.5');
 
            $xml->saveXML("output.xml");

            print("<br><br>");
            foreach($xml->children() as $tut) {       
               print($tut->Name ."<br>");
               print($tut->Pages ."<br>");
               print($tut->Author ."<br>");
               print($tut->Version ."<br>");
               print("<br>");
            }
         ?>
      </body>
   </head>
</html>

Cela produira le résultat suivant -

JavaFX
535
Krishna
11

CoffeeScript
235
Kasyap
2.5.1

OpenCV
230
Maruthi
5.5