<?xml version="1.0" encoding="utf-8"?> <!-- $Revision$ --> <refentry xml:id='function.simplexml-load-file' xmlns="http://docbook.org/ns/docbook"> <refnamediv> <refname>simplexml_load_file</refname> <refpurpose> Interprets an XML file into an object </refpurpose> </refnamediv> <refsect1 role="description"> &reftitle.description; <methodsynopsis> <type>SimpleXMLElement</type><methodname>simplexml_load_file</methodname> <methodparam><type>string</type><parameter>filename</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> Convert the well-formed XML document in the given file to an object. </para> </refsect1> <refsect1 role="parameters"> &reftitle.parameters; <para> <variablelist> <varlistentry> <term><parameter>filename</parameter></term> <listitem> <para> Path to the XML file </para> <note> <para> Libxml 2 unescapes the URI, so if you want to pass e.g. <literal>b&c</literal> as the URI parameter <literal>a</literal>, you have to call <literal>simplexml_load_file(rawurlencode('http://example.com/?a=' . urlencode('b&c')))</literal>. Since PHP 5.1.0 you don't need to do this because PHP will do it for you. </para> </note> </listitem> </varlistentry> <varlistentry> <term><parameter>class_name</parameter></term> <listitem> <para> You may use this optional parameter so that <function>simplexml_load_file</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 document</title> <programlisting role="php"> <![CDATA[ <?php // The file test.xml contains an XML document with a root element // and at least an element /[root]/title. if (file_exists('test.xml')) { $xml = simplexml_load_file('test.xml'); print_r($xml); } else { exit('Failed to open test.xml.'); } ?> ]]> </programlisting> <para> This script will display, on success: </para> <screen> <![CDATA[ SimpleXMLElement Object ( [title] => Example Title ... ) ]]> </screen> <simpara> At this point, you can go about using <literal>$xml->title</literal> and any other elements. </simpara> </example> </para> </refsect1> <refsect1 role="seealso"> &reftitle.seealso; <para> <simplelist> <member><function>simplexml_load_string</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 -->