PHP simplexml_load_file() 函数将给定文件中格式良好的 XML 文档转换为对象。
语法
simplexml_load_file(filename, class_name, options,
namespace_or_prefix, is_prefix)
参数
filename | 必需。 指定 XML 文件的路径。 |
class_name | 可选。 指定新对象的类。该类应扩展 SimpleXMLElement 类。 |
options | 可选。 使用此参数指定附加Libxml参数,这些参数会影响XML文档的读取。 |
namespace_or_prefix | 可选。 指定命名空间前缀或 URI。 |
is_prefix | 可选。 如果namespace_or_prefix 是前缀,则为 true;如果是 URI,则为 false。默认为 false。 |
返回值
返回SimpleXMLElement 类,其属性包含 XML 文档中保存的数据,失败时返回 false。
注意:此函数可能返回布尔值 false,但也可能返回计算结果为 false 的非布尔值。因此,使用 === 运算符来测试该函数的返回值。
异常
针对 XML 数据中发现的每个错误生成 E_WARNING 错误消息。
注意:使用libxml_use_internal_errors()来抑制所有XML错误,并且libxml_get_errors() 之后迭代它们。
示例:
假设我们有一个名为 test.xml 的文件。该文件包含以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<userlist>
<user>
<username>John123</username>
<name>John Smith</name>
<phone>+1-8054098000</phone>
<address>Brooklyn, New York, USA</address>
</user>
</userlist>
在下面的示例中,simplexml_load_file() 函数用于将给定的 XML 文档转换为 SimpleXMLElement 对象。
<?php
if (file_exists('test.xml')) {
$xml = simplexml_load_file('test.xml');
print_r($xml);
} else {
exit('Failed to open test.xml.');
}
?>
上述代码的输出将是:
SimpleXMLElement Object
(
[user] => SimpleXMLElement Object
(
[username] => John123
[name] => John Smith
[phone] => +1-8054098000
[address] => Brooklyn, New York, USA
)
)