PHP
XML

simplexml_load_file

simplexml_load_file

(PHP 5, PHP 7)

simplexml_load_file - 将XML文件解释为对象

描述

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

将给定文件中格式良好的XML文档转换为对象。

参数

filename

XML文件的路径

注意:Libxml 2不使用URI,所以如果你想通过例如b&c作为URI参数a,你必须调用simplexml_load_file(rawurlencode(' http://example.com/?a='。urlencode('b&c')) ))。从PHP 5.1.0开始,你不需要这样做,因为PHP会为你做到这一点。

class_name

您可以使用此可选参数,以便simplexml_load_file()将返回指定类的对象。该类应该扩展SimpleXMLElement类。

options

由于PHP 5.1.0和Libxml 2.6.0,您也可以使用该options参数来指定其他Libxml参数。

ns

名称空间前缀或URI。

is_prefix

如果ns是前缀,则为TRUE;如果是URI,则为FALSE;默认为FALSE。

返回值

返回一个SimpleXMLElement类的对象,其属性包含XML文档中保存的数据,或者失败时返回FALSE

警告

此函数可能会返回布尔FALSE,但也可能会返回一个非布尔值,其值为FALSE。 有关更多信息,请阅读布尔部分。 使用===运算符来测试此函数的返回值。

错误/异常

E_WARNING为XML数据中的每个错误生成一条错误消息。

提示

使用libxml_use_internal_errors()来禁止所有XML错误,然后使用libxml_get_errors()来遍历它们。

例子

Example#1 解释一个XML文档

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

该脚本将在成功时显示:

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

在这一点上,你可以去使用$ xml-> title和其他元素。

扩展内容

  • simplexml_load_string() - 将一串XML解释为一个对象

  • SimpleXMLElement :: __ construct() - 创建一个新的SimpleXMLElement对象

  • libxml_use_internal_errors() - 禁用libxml错误并允许用户根据需要获取错误信息

← simplexml_import_dom

simplexml_load_string →