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
[edit] Last updated: Fri, 23 Mar 2012

view this page in

SimpleXMLElement::asXML

(PHP 5 >= 5.0.1)

SimpleXMLElement::asXML Return a well-formed XML string based on SimpleXML element

Opis

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

The asXML method formats the parent object's data in XML version 1.0.

Parametry

filename

If specified, the function writes the data to the file rather than returning it.

Zwracane wartości

If the filename isn't specified, this function returns a string on success and FALSE on error. If the parameter is specified, it returns TRUE if the file was written successfully and FALSE otherwise.

Przykłady

Przykład #1 Get XML

<?php
$string 
= <<<XML
<a>
 <b>
  <c>text</c>
  <c>stuff</c>
 </b>
 <d>
  <c>code</c>
 </d>
</a>
XML;

$xml = new SimpleXMLElement($string);

echo 
$xml->asXML();

?>

Powyższy przykład wyświetli:

<?xml version="1.0"?>
<a>
 <b>
  <c>text</c>
  <c>stuff</c>
 </b>
 <d>
  <c>code</c>
 </d>
</a>

asXML also works on Xpath results:

Przykład #2 Using asXML() on SimpleXMLElement::xpath() results

<?php
// Continued from example XML above.

/* Search for <a><b><c> */
$result $xml->xpath('/a/b/c');

while(list( , 
$node) = each($result)) {
    echo 
$node->asXML();
}
?>

Powyższy przykład wyświetli:

<c>text</c><c>stuff</c>

Zobacz też:



add a note add a note User Contributed Notes SimpleXMLElement::asXML
oleg dot pavlin at gmail dot com 09-Jan-2012 09:17
Function asXML decodes special chars like ø, æ and others to &#xE6;, &#xF8;

To get normal output use without quoting:

$xml = html_entity_decode($xml, ENT_NOQUOTES, 'UTF-8');
jcr at di dot uminho dot pt 24-Jan-2011 07: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