php_ref_simplexml
PHP SimpleXML 函数参考
Section titled “PHP SimpleXML 函数参考”PHP SimpleXML 简介
Section titled “PHP SimpleXML 简介”SimpleXML 是一个 PHP 扩展,提供了一套非常简单易用的工具,用于将 XML 转换为可以通过普通属性选择器和数组迭代器处理的对象。
它对于读取和提取已知结构的 XML 文档数据特别有用。它将元素、属性和文本内容表示为可访问的对象属性和数组元素。
虽然 SimpleXML 对于常见任务功能强大,但在处理复杂命名空间、非常大的文件(内存占用)或需要对 XML 解析进行细粒度控制(此时 DOMDocument 或 XMLReader 可能更适合)时可能会有局限性。
SimpleXML 扩展是 PHP 核心的一部分,默认情况下已启用。无需单独安装。
关键 SimpleXML 函数和方法
Section titled “关键 SimpleXML 函数和方法”以下是用于加载 XML 的主要函数以及 SimpleXMLElement 对象上可用的方法:
| 函数/方法 | 描述 |
|---|---|
simplexml_load_file() | 将 XML 文件解释为 SimpleXMLElement 对象。失败时返回 false。 |
simplexml_load_string() | 将 XML 字符串解释为 SimpleXMLElement 对象。失败时返回 false。 |
simplexml_import_dom() | 从 DOM 节点(通过 DOMDocument 创建)获取 SimpleXMLElement 对象。 |
__construct() | (方法)创建新的 SimpleXMLElement 对象,通常由 simplexml_load_* 隐式调用。 |
asXML() / saveXML() | (方法)基于 SimpleXMLElement 对象返回格式正确的 XML 字符串(版本 1.0)。可以选择保存到文件。 |
xpath() | (方法)在 XML 数据上运行 XPath 查询,并返回 SimpleXMLElement 对象数组或 false。 |
registerXPathNamespace() | (方法)为下一个 XPath 查询创建命名空间上下文。 |
addAttribute() | (方法)向 SimpleXML 元素添加属性。如果适用,需要命名空间参数。 |
addChild() | (方法)向 SimpleXML 元素添加子元素。如果适用,需要命名空间参数。 |
getName() | (方法)获取 XML 元素的名称。 |
getNamespaces() | (方法)返回文档中使用的命名空间(与当前节点相关)。 |
getDocNamespaces() | (方法)返回文档根节点中声明的命名空间。 |
attributes() | (方法)识别元素的属性。返回包含属性的 SimpleXMLElement 对象,该对象可以迭代或通过名称访问。 |
children() | (方法)查找给定节点的子节点。可以选择指定命名空间。 |
count() | (方法)计算元素的子节点数量。 |
SimpleXML 迭代(SimpleXMLElement 实现了 Traversable 接口)
Section titled “SimpleXML 迭代(SimpleXMLElement 实现了 Traversable 接口)”SimpleXMLElement 对象通常可以直接使用 foreach 进行迭代,以访问同名的子元素。迭代器的内部接口方法也可以概念性地理解为:
| 迭代器概念 / 方法 | 描述 |
|---|---|
current() | 返回迭代中的当前元素。 |
key() | 返回当前元素的键(通常是标签名或索引)。 |
next() | 将迭代器移动到下一个元素。 |
rewind() | 将迭代器重置到第一个元素。 |
valid() | 检查当前迭代器位置是否有效(即指向一个元素)。 |
您通常不需要直接调用这些迭代器方法,而是依赖 foreach 来处理迭代过程。
更多详情和示例,请参考官方 PHP 手册: