Función PHP SimpleXMLElement :: asXML ()

Definición y uso

XML es un lenguaje de marcado para compartir los datos a través de la web, XML es legible tanto para humanos como para máquinas. La clase SimpleXMLElement representa un documento XML en PHP.

los SimpleXMLElement::asXML()La función forma una cadena XML del objeto SimpleXMLElement actual y la devuelve. Si pasa un valor de cadena que representa un nombre de archivo como parámetro, esta función guarda la cadena XML en el archivo especificado.

Sintaxis

SimpleXMLElement::asXML([$file_name]);

Parámetros

No Señor Descripción de parámetros
1

file_name (Optional)

Este es un valor de cadena que representa el nombre del archivo donde necesita almacenar la cadena XML formada.

Valores devueltos

Esta función devuelve una cadena que representa la cadena XML en caso de éxito y el valor booleano FALSE en caso de falla.

Si ha pasado el nombre de archivo opcional como parámetro, esta función devuelve VERDADERO en caso de éxito y FALSO en caso de falla.

Versión PHP

Esta función se introdujo por primera vez en PHP Versión 5 y funciona en todas las versiones posteriores.

Ejemplo

El siguiente ejemplo demuestra el uso de la función SimpleXMLIterator :: asXML ().

<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->asXML();
            print($xml_string); 
         ?>      
      </body>
   </head>   
</html>
</html>

Esto producirá el siguiente resultado:

JavaFX 535 Krishna 11

Ejemplo

A continuación se muestra un ejemplo de esta función con un nombre de archivo de parámetro opcional:

<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->asXML("output.xml");
         ?>      
      </body>
   </head>   
</html>

Si verifica el contenido del archivo de salida output.xml, puede observar el elemento XML agregado como se muestra a continuación:

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

Ejemplo

En el siguiente ejemplo, intentamos agregar un nuevo registro a un archivo 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->asXML("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>

Esto producirá el siguiente resultado:

JavaFX
535
Krishna
11

CoffeeScript
235
Kasyap
2.5.1

OpenCV
230
Maruthi
5.5