# simplexml_load_file

(PHP 5, PHP 7)

simplexml_load_file — Interprets an XML file into an object

### 说明

simplexml_load_file ( string `$filename` [, string `$class_name` = "SimpleXMLElement" [, int `$options` = 0 [, string `$ns` = "" [, bool `$is_prefix` = `FALSE` ]]]] ) : SimpleXMLElement

Convert the well-formed XML document in the given file to an object.

### 参数

`filename`

  Path to the XML file

  > Note:

  > Libxml 2 unescapes the URI, so if you want to pass e.g. b&c as the URI parameter a, you have to call simplexml_load_file(rawurlencode('http://example.com/?a=' . urlencode('b&c'))). Since PHP 5.1.0 you don't need to do this because PHP will do it for you.

`class_name`

  You may use this optional parameter so that simplexml_load_file() will return an object of the specified class. That class should extend the SimpleXMLElement class.

`options`

  Since PHP 5.1.0 and Libxml 2.6.0, you may also use the `options` parameter to specify additional Libxml parameters.

`ns`

  Namespace prefix or URI.

`is_prefix`

  `TRUE` if `ns` is a prefix, `FALSE` if it's a URI; defaults to `FALSE`.

### 返回值

Returns an object of class SimpleXMLElement with properties containing the data held within the XML document, 或者在失败时返回 `FALSE`.

Warning

此函数可能返回布尔值 `FALSE`，但也可能返回等同于 `FALSE` 的非布尔值。请阅读 布尔类型章节以获取更多信息。应使用 === 运算符来测试此函数的返回值。

### 错误／异常

Produces an `E_WARNING` error message for each error found in the XML data.

Tip

Use libxml_use_internal_errors() to suppress all XML errors, and libxml_get_errors() to iterate over them afterwards.

### 范例

Example #1 Interpret an XML document

    <?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.');
    }
    ?>

This script will display, on success:

    SimpleXMLElement Object
    (
      [title] => Example Title
      ...
    )

At this point, you can go about using $xml->title and any other elements.

### 参见

- simplexml_load_string() - Interprets a string of XML into an object
- SimpleXMLElement::__construct() - Creates a new SimpleXMLElement object
- Dealing with XML errors
- libxml_use_internal_errors() - Disable libxml errors and allow user to fetch error information as needed
- Basic SimpleXML usage