php-doc-en/reference/simplexml/functions/simplexml-load-file.xml

184 lines
5.1 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $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>object</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></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&amp;c</literal> as the URI parameter <literal>a</literal>,
you have to call
<literal>simplexml_load_file(rawurlencode('http://example.com/?a=' .
urlencode('b&amp;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>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>is_prefix</parameter></term>
<listitem>
<para>
</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. On errors, it
will return &false;.
</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>
</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
-->