PHP simplexml_import_dom()函数讲解

1. 简介

simplexml_import_dom() 函数用来将一个 DOM 节点转换为 SimpleXMLElement 对象,类似于 simplexml_import_simplexml() 函数所做的,但前者使用 DOMDocument 类而后者使用 SimpleXMLElement 类。

2. 语法

simplexml_import_dom ( DOMNode $node [, string $class_name = "SimpleXMLElement" ] ) : SimpleXMLElement

参数说明

node:要转换为 SimpleXMLElement 对象的 DOM 节点。

class_name:可选项,生成的 SimpleXMLElement 对象类名,缺省值为 "SimpleXMLElement"。

3. 示例

3.1 XML 字符串转换

$xmlstr = '<?xml version="1.0" encoding="UTF-8"?><root><test>Hello World!</test></root>';

$dom = new DOMDocument();

$dom->loadXML($xmlstr);

$sxml = simplexml_import_dom($dom);

echo $sxml->test; // 输出:Hello World!

在上面的示例中,将一个 XML 字符串 $xmlstr 转换为 DOM 节点 $dom,然后使用 simplexml_import_dom() 函数将 DOM 节点转换为 SimpleXMLElement 对象 $sxml,最后通过 $sxml 对象输出 XML 中 <test> 标签内的内容。

3.2 从文件中载入 XML

$file = 'test.xml';

$dom = new DOMDocument();

$dom->load($file);

$sxml = simplexml_import_dom($dom);

echo $sxml->test; // 输出:Hello World!

在上面的示例中,将文件 test.xml 载入为 DOM 节点 $dom,然后使用 simplexml_import_dom() 函数将 DOM 节点转换为 SimpleXMLElement 对象 $sxml,最后通过 $sxml 对象输出 XML 中 <test> 标签内的内容。

3.3 使用类名转换

$dom = new DOMDocument();

$dom->loadXML('<?xml version="1.0" encoding="UTF-8"?><root><test>Hello World!</test></root>');

$sxml = simplexml_import_dom($dom, 'CustomSimpleXMLElement');

echo get_class($sxml); // 输出:CustomSimpleXMLElement

在上面的示例中,将一个 XML 字符串转换为 DOM 节点 $dom,然后使用 simplexml_import_dom() 函数将 DOM 节点转换为名为 CustomSimpleXMLElement 的 SimpleXMLElement 对象 $sxml,最后通过 get_class() 函数输出 $sxml 的类名。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签