(PHP 5 >= 5.0.1)
SimpleXMLElement::asXML — Return a well-formed XML string based on SimpleXML element
The asXML method formats the parent object's data in XML version 1.0.
filenameIf specified, the function writes the data to the file rather than returning it.
   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.
  
Example #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();
?>
The above example will output:
<?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:
Example #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();
}
?>
The above example will output:
<c>text</c><c>stuff</c>