PHP SimpleXML函数

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
        )
)