转换 XML 文件为 SimpleXMLElement 对象,然后输出对象的键和元素:
simplexml_load_file() 函数转换指定的 XML 文件为 SimpleXMLElement 对象。
simplexml_load_file(file,classname,options,ns,is_prefix);
参数
描述
file
必需。规定 XML 文件路径。
classname
可选。规定新对象的 class。
options
可选。规定附加的 Libxml 参数。通过指定选项为 1 或 0(TRUE 或 FALSE,例如 LIBXML_NOBLANKS(1))进行设置。
可能的值:
- LIBXML_COMPACT - 激活节点的优化配置(可加速应用程序)
- LIBXML_DTDATTR - 设置默认的 DTD 属性
- LIBXML_DTDLOAD - 装载额外的子集
- LIBXML_DTDVALID - 验证 DTD 有效性
- LIBXML_NOBLANKS - 删除空节点
- LIBXML_NOCDATA - 将 CDATA 设置为文本节点
- LIBXML_NOEMPTYTAG - 扩展空标签(例如
到
),仅在 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 版本(例如 20605 或 20617)
- LIBXML_DOTTED_VERSION - 获取带点的 libxml 版本(例如 2.6.5 或 2.6.17)
ns
可选。规定命名空间前缀或 URI。
is_prefix
可选。规定一个布尔值。如果 ns 是前缀则为 TRUE,如果 ns 是 URI 则为 FALSE。默认是 FALSE。
返回值:
如果成功则返回 SimpleXMLElement 对象,如果失败则返回 FALSE。
PHP 版本:
5+
假设我们有如下的 XML 文件,"note.xml":
Tove
Jani
Reminder
Don't forget me this weekend!
输出 XML 文件中每个元素的数据:
to . "
";
echo $xml->from . "
";
echo $xml->heading . "
";
echo $xml->body;
?>
输出 XML 文件中每个子节点的元素名称和数据:
getName() . "
";
foreach($xml->children() as $child)
{
echo $child->getName() . ": " . $child . "
";
}
?>