Convert a well-formed XML string to a SimpleXMLElement object and output the object's keys and elements:
<?php$note=<<<XML<note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</ body></note>XML;$xml=simplexml_load_string($note);print_r($xml);?>The simplexml_load_string() function converts a well-formed XML string into a SimpleXMLElement object.
simplexml_load_string( data,classname,options,ns,is_prefix );
parameter | describe |
---|---|
data | Required. Specifies a well-formed XML string. |
classname | Optional. Specifies the class of the new object. |
options | Optional. Specifies additional Libxml parameters. Set by specifying the option as 1 or 0 (TRUE or FALSE, such as LIBXML_NOBLANKS(1)). Possible values: LIBXML_COMPACT - activates an optimized configuration of nodes (can speed up applications) LIBXML_DTDATTR - Set default DTD attributes LIBXML_DTDLOAD - load additional subsets LIBXML_DTDVALID - Verify DTD validity LIBXML_NOBLANKS - remove empty nodes LIBXML_NOCDATA - Set CDATA to a text node LIBXML_NOEMPTYTAG - expand empty tags (e.g. <br/> to <br></br>), only valid in DOMDocument->save() and DOMDocument->saveXML() functions LIBXML_NOENT - substitute entity LIBXML_NOERROR - Do not display error reports LIBXML_NONET - Stop accessing the network while loading the document LIBXML_NOWARNING - Do not display warning reports LIBXML_NOXMLDECL - discard XML declarations when storing a document LIBXML_NSCLEAN - Remove redundant namespace declarations LIBXML_PARSEHUGE - Sets the XML_PARSE_HUGE flag, which relaxes any constraints imposed by the parser. This will affect things like the maximum document depth and text node size limits. LIBXML_XINCLUDE - use XInclude instead LIBXML_ERR_ERROR - Get correctable errors LIBXML_ERR_FATAL - Get fatal error LIBXML_ERR_NONE - do not get errors LIBXML_ERR_WARNING - Get simple warnings LIBXML_VERSION - Get the libxml version (e.g. 20605 or 20617) LIBXML_DOTTED_VERSION - Get the dotted libxml version (e.g. 2.6.5 or 2.6.17) |
ns | Optional. Specifies a namespace prefix or URI. |
is_prefix | Optional. Specifies a boolean value. TRUE if ns is a prefix, FALSE if ns is a URI. The default is FALSE. |
Return value: | Returns a SimpleXMLElement object if successful, or FALSE if failed. |
---|---|
PHP version: | 5+ |
Output data for each element in an XML string:
<?php$note=<<<XML<note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</ body></note>XML;$xml=simplexml_load_string($note);echo $xml->to . "<br>";echo $xml->from . "<br>";echo $xml->heading . "<br>";echo $xml->body;?>Output the element name and data for each child node in an XML string:
<?php$note=<<<XML<note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</ body></note>XML;$xml=simplexml_load_string($note);echo $xml->getName() . "<br>";foreach($xml->children() as $child) { echo $child->getName() . ": " . $child . "<br>"; }?>