English | 简体中文 | 繁體中文
查询

XMLReader::moveToAttributeNs()函数—用法及示例

「 将光标移动到当前节点的指定命名空间和属性名称的属性 」


函数名称:XMLReader::moveToAttributeNs()

函数描述:将光标移动到当前节点的指定命名空间和属性名称的属性。

适用版本:该函数自PHP版本5.1.0开始可用。

语法:bool XMLReader::moveToAttributeNs ( string $localName , string $namespaceURI )

参数:

  • $localName:属性的本地名称。
  • $namespaceURI:属性的命名空间URI。

返回值:如果成功移动到指定的属性,则返回true;否则返回false。

示例:

$xml = '
<book xmlns:php="http://www.php.net/" php:author="John Doe">
    <title>PHP Programming</title>
</book>';

$reader = new XMLReader();
$reader->xml($xml);

while ($reader->read()) {
    if ($reader->nodeType == XMLReader::ELEMENT && $reader->name == 'book') {
        if ($reader->moveToAttributeNs('author', 'http://www.php.net/')) {
            echo "Author: " . $reader->value . "\n";
        }
    }
}

解释:在上面的示例中,我们首先创建了一个包含XML数据的字符串。然后,我们使用XMLReader类创建了一个XMLReader对象,并将XML数据加载到该对象中。接下来,我们使用while循环遍历XML文档,直到找到名为'book'的元素节点。在此节点中,我们使用moveToAttributeNs()函数将光标移动到名为'author'且命名空间为'http://www.php.net/'的属性上。如果成功移动到该属性,我们将打印出该属性的值。

输出:

Author: John Doe

注意事项:

  • 在使用moveToAttributeNs()函数之前,必须先调用read()函数将光标移动到元素节点上。
  • 本地名称和命名空间URI必须与属性的实际名称和命名空间URI完全匹配,否则函数将返回false。
  • 如果移动到属性失败,可以使用getLastError()函数获取错误信息。
补充纠错
热门PHP函数
分享链接