函数名:XMLReader::readOuterXml()
适用版本:PHP 5, PHP 7
用法:XMLReader::readOuterXml() 方法用于返回当前节点及其所有子节点的 XML 字符串表示。
语法:string XMLReader::readOuterXml ( void )
参数:该函数不接受任何参数。
返回值:返回当前节点及其所有子节点的 XML 字符串表示。如果读取失败或者当前节点不是元素节点,则返回 false。
示例:
$xml = '
<book>
<title>PHP Cookbook</title>
<author>John Doe</author>
<year>2021</year>
</book>
';
$reader = new XMLReader();
$reader->xml($xml);
while ($reader->read()) {
if ($reader->nodeType == XMLReader::ELEMENT && $reader->name == 'title') {
$outerXml = $reader->readOuterXml();
echo $outerXml; // 输出:<title>PHP Cookbook</title>
break;
}
}
在上面的示例中,我们首先创建了一个包含 XML 内容的字符串。然后,我们创建了一个 XMLReader 对象,并将 XML 内容加载到该对象中。接着,我们使用 while 循环遍历 XML 文档,当遇到元素节点名为 'title' 时,我们使用 readOuterXml() 方法获取当前节点及其所有子节点的 XML 字符串表示。最后,我们将获取到的字符串输出到屏幕上。
需要注意的是,如果当前节点不是元素节点或者读取失败,readOuterXml() 方法将返回 false。因此,在使用该方法之前,我们需要确保当前节点是一个元素节点,并且读取操作成功。