Funzione PHP SimpleXMLElement :: saveXML ()

Definizione e utilizzo

XML è un linguaggio di markup per condividere i dati sul Web, XML è sia leggibile dall'uomo che dalla macchina. La classe SimpleXMLElement rappresenta un documento XML in PHP.

Il SimpleXMLElement::saveXML()funzione forma una stringa XML dell'oggetto SimpleXMLElement corrente e la restituisce. Se si passa un valore stringa che rappresenta un nome file come parametro, questa funzione salva la stringa XML nel file specificato.

Sintassi

SimpleXMLElement::saveXML([$file_name]);

Parametri

Suor n Parametro e descrizione
1

file_name (Optional)

Questo è un valore stringa che rappresenta il nome del file in cui è necessario memorizzare in alto la stringa XML formata.

Valori restituiti

Questa funzione restituisce una stringa che rappresenta la stringa XML in caso di successo e il valore booleano FALSE in caso di fallimento.

Se avete passato il nome del file opzionale come parametro, questa funzione restituisce TRUE in caso di successo e FALSE in caso di fallimento.

Versione PHP

Questa funzione è stata introdotta per la prima volta nella versione 5 di PHP e funziona in tutte le versioni successive.

Esempio

L'esempio seguente mostra l'utilizzo della funzione 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>

Questo produrrà il seguente risultato:

JavaFX 535 Krishna 11

Esempio

Di seguito è riportato un esempio di questa funzione con il nome del file di parametri facoltativi:

<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>

Se verifichi il contenuto del file di output output.xml puoi osservare l'elemento XML aggiunto come mostrato di seguito -

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

Esempio

Nell'esempio seguente stiamo cercando di aggiungere un nuovo record a un file 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>

Questo produrrà il seguente risultato:

JavaFX
535
Krishna
11

CoffeeScript
235
Kasyap
2.5.1

OpenCV
230
Maruthi
5.5