最新的Web开发教程
 

PHP simplexml_load_file() Function

<PHP SimpleXML的参考

转换的XML文件转换成一个SimpleXMLElement对象,那么输出键和对象的元素:

<?php
$xml=simplexml_load_file("note.xml");
print_r($xml);
?>
运行示例»

定义和用法

simplexml_load_file()函数将指定的XML文件转换成SimpleXMLElement对象。


句法

simplexml_load_file( file,classname,options,ns,is_prefix );

参数 描述
file 需要。 指定XML文件的路径
classname 可选的。 指定类的新对象
options 可选的。 指定附加xml库[Libxml参数。 通过指定选项和1或0设定(TRUE or FALSE, eg LIBXML_NOBLANKS(1)

可能的值:

  • LIBXML_COMPACT - 激活节点分配优化(可以加快应用程序)
  • LIBXML_DTDATTR - 设置默认DTD属性
  • LIBXML_DTDLOAD - 加载外部子集
  • LIBXML_DTDVALID - 验证与DTD
  • LIBXML_NOBLANKS - 删除空白节点
  • LIBXML_NOCDATA - 合并CDATA文本节点
  • LIBXML_NOEMPTYTAG -扩大空标签(eg <br/> to <br></br>)只有在可用的DOMDocument-> save()DOMDocument-> saveXML()函数
  • LIBXML_NOENT - 替代实体
  • LIBXML_NOERROR - 不显示错误报告
  • LIBXML_NONET - 而加载的文件禁止网络访问
  • LIBXML_NOWARNING - 不显示警告报告
  • LIBXML_NOXMLDECL - 保存文档时删除XML声明
  • LIBXML_NSCLEAN - 删除多余的命名空间声明
  • LIBXML_PARSEHUGE - 设置XML_PARSE_HUGE标志,放宽从解析器任何硬编码限制。 这会影响像一个文件的最大深度和文本节点的大小限制范围
  • LIBXML_XINCLUDE - 实施XInclude的替代
  • LIBXML_ERR_ERROR - 获得恢复的错误。
  • LIBXML_ERR_FATAL - 获取致命错误
  • LIBXML_ERR_NONE - 没有错误
  • LIBXML_ERR_WARNING - 获取简单警告
  • LIBXML_VERSION -获取libxml的版本(eg 20605 or 20617)
  • LIBXML_DOTTED_VERSION - 获取点的libxml版本(例如2.6.5或2.6.17)
ns 可选的。 指定一个命名空间前缀或URI
is_prefix 可选的。 指定一个布尔值。 TRUE,如果ns是一个前缀。 FALSE如果ns是一个URI。 默认为FALSE

技术细节

返回值: 如果成功则返回一个SimpleXMLElement对象。 FALSE失败
PHP版本: 5+

更多示例

假设我们有下面的XML文件,“ note.xml ”:

<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

实施例1

输出从XML文件中的每个元素中的数据:

<?php
$xml=simplexml_load_file("note.xml");
echo $xml->to . "<br>";
echo $xml->from . "<br>";
echo $xml->heading . "<br>";
echo $xml->body;
?>
运行示例»

实施例2

输出元素的名称和数据的XML文件中的每个子节点:

<?php
$xml=simplexml_load_file("note.xml");
echo $xml->getName() . "<br>";

foreach($xml->children() as $child)
  {
  echo $child->getName() . ": " . $child . "<br>";
  }
?>
运行示例»

<PHP SimpleXML的参考