<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id='function.simplexml-load-string' xmlns="http://docbook.org/ns/docbook">
 <refnamediv>
  <refname>simplexml_load_string</refname>
  <refpurpose>
   Interprets a string of XML into an object
  </refpurpose>
 </refnamediv>
 <refsect1 role="description">
  &reftitle.description;
  <methodsynopsis>
   <type>SimpleXMLElement</type><methodname>simplexml_load_string</methodname>
   <methodparam><type>string</type><parameter>data</parameter></methodparam>
   <methodparam choice="opt"><type>string</type><parameter>class_name</parameter><initializer>"SimpleXMLElement"</initializer></methodparam>
   <methodparam choice="opt"><type>int</type><parameter>options</parameter><initializer>0</initializer></methodparam>
   <methodparam choice="opt"><type>string</type><parameter>ns</parameter><initializer>""</initializer></methodparam>
   <methodparam choice="opt"><type>bool</type><parameter>is_prefix</parameter><initializer>false</initializer></methodparam>
  </methodsynopsis>
  <para>
   Takes a well-formed XML string and returns it as an object.
  </para>
 </refsect1>

 <refsect1 role="parameters">
  &reftitle.parameters;
  <para>
   <variablelist>
    <varlistentry>
     <term><parameter>data</parameter></term>
     <listitem>
      <para>
       A well-formed XML string
      </para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term><parameter>class_name</parameter></term>
     <listitem>
      <para>
       You may use this optional parameter so that
       <function>simplexml_load_string</function> will return an object of 
       the specified class. That class should extend the 
       <type>SimpleXMLElement</type> class.
      </para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term><parameter>options</parameter></term>
     <listitem>
      <para>
       Since PHP 5.1.0 and Libxml 2.6.0, you may also use the
       <parameter>options</parameter> parameter to specify <link
       linkend="libxml.constants">additional Libxml parameters</link>.
      </para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term><parameter>ns</parameter></term>
     <listitem>
      <para>
       Namespace prefix or URI.
      </para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term><parameter>is_prefix</parameter></term>
     <listitem>
      <para>
       &true; if <parameter>ns</parameter> is a prefix, &false; if it's a URI;
       defaults to &false;.
      </para>
     </listitem>
    </varlistentry>
   </variablelist>
  </para>
 </refsect1>

 <refsect1 role="returnvalues">
  &reftitle.returnvalues;
  <para>
   Returns an <type>object</type> of class <type>SimpleXMLElement</type> with
   properties containing the data held within the xml document,&return.falseforfailure;.
  </para>
 </refsect1>

 <refsect1 role="errors"><!-- {{{ -->
  &reftitle.errors;
  <para>
   Produces an <constant>E_WARNING</constant> error message for each error
   found in the XML data.
  </para>
  <tip>
   <para>
    Use <function>libxml_use_internal_errors</function> to suppress all XML
    errors, and <function>libxml_get_errors</function> to iterate over them
    afterwards.
   </para>
  </tip>
 </refsect1><!-- }}} -->

 <refsect1 role="examples">
  &reftitle.examples;
  <para>
   <example>
    <title>Interpret an XML string</title>
    <programlisting role="php">
<![CDATA[
<?php
$string = <<<XML
<?xml version='1.0'?> 
<document>
 <title>Forty What?</title>
 <from>Joe</from>
 <to>Jane</to>
 <body>
  I know that's the answer -- but what's the question?
 </body>
</document>
XML;

$xml = simplexml_load_string($string);

print_r($xml);
?>
]]>
    </programlisting>
    &example.outputs;
    <screen>
<![CDATA[
SimpleXMLElement Object
(
  [title] => Forty What?
  [from] => Joe
  [to] => Jane
  [body] =>
   I know that's the answer -- but what's the question?
)
]]>
    </screen>
    <simpara>
     At this point, you can go about using <literal>$xml->body</literal>
     and such.
    </simpara>
   </example>
  </para>
 </refsect1>

 <refsect1 role="seealso">
  &reftitle.seealso;
  <para>
   <simplelist>
    <member><function>simplexml_load_file</function></member>
    <member><methodname>SimpleXMLElement::__construct</methodname></member>
    <member><xref linkend="simplexml.examples-errors" /></member>
    <member><function>libxml_use_internal_errors</function></member>
    <member><xref linkend="simplexml.examples-basic"/></member>
   </simplelist>
  </para>
 </refsect1>
</refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->