downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

SimpleXMLElement::attributes> <SimpleXMLElement::addChild
Last updated: Fri, 20 May 2011

view this page in

SimpleXMLElement::asXML

(PHP 5 >= 5.0.1)

SimpleXMLElement::asXML Retorna un string XML correcto basado en un elemento SimpleXML

Descripción

public mixed SimpleXMLElement::asXML ([ string $filename ] )

El método asXML formatea los datos del objeto padre en XML versión 1.0.

Parámetros

filename

Si se especifica, la función escribe los datos al fichero en vez de retornarlo.

Valores devueltos

Si no se especifica filename, esta función retorna un string si no hay errores y FALSE si lo hay. Si se especifica el parámetro, retorna TRUE si el fichero se escribió correctamente y FALSE en caso contrario.

Ejemplos

Example #1 Retornar XML

<?php
$string 
= <<<XML
<a>
 <b>
  <c>texto</c>
  <c>cosas</c>
 </b>
 <d>
  <c>codigo</c>
 </d>
</a>
XML;

$xml = new SimpleXMLElement($string);

echo 
$xml->asXML();

?>

El resultado del ejemplo sería:

<?xml version="1.0"?>
<a>
 <b>
  <c>texto</c>
  <c>cosas</c>
 </b>
 <d>
  <c>codigo</c>
 </d>
</a>

asXML también trabaja con resultados Xpath:

Example #2 Usando asXML() en resultados SimpleXMLElement::xpath()

<?php
// Continuación del ejemplo XML anterior.

/* Buscar <a><b><c> */
$resultado $xml->xpath('/a/b/c');

while(list( , 
$nodo) = each($resultado)) {
    echo 
$nodo->asXML(); // <c>texto</c> and <c>cosas</c>
}
?>

El resultado del ejemplo sería:

<c>texto</c><c>cosas</c>



add a note add a note User Contributed Notes SimpleXMLElement::asXML
jcr at di dot uminho dot pt 25-Jan-2011 10:32
Code snippet to load a XML document, increment an attribute and store it again.
My XML looks like:
<?xml version="1.0" encoding="ISO-8859-1"?>
<doctypes counter="16">
    <doctype id="d1">
        <name>Carta</name>
        <acro>CA</acro>
    </doctype>
...
</doctypes>

I want to retrieve the counter attribute, increment it, and store the new document at the end:

<?php
  $document
= simplexml_load_file("mydoc.xml");
 
$cont = (integer) $document['counter'];
 
$document['counter'] = $cont+1;
 
$document->asXML("mydoc.xml");
?>

 
show source | credits | stats | sitemap | contact | advertising | mirror sites