首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[函数]XMLReader::getAttribute()函数—用法及示例

发布于 2025-05-16 10:26:51
0
28

函数名:XMLReader::getAttribute()

适用版本:PHP 5, PHP 7

用法:XMLReader::getAttribute() 函数用于获取当前节点的指定属性值。

语法:public ?string XMLReader::getAttribute ( string $name )

参数:

  • name:要获取的属性名称。

返回值:

  • 如果找到指定的属性,则返回该属性的值,如果找不到指定的属性,则返回 null。

示例:

$xml = '<bookstore>
            <book category="Fiction">
                <title>The Great Gatsby</title>
                <author>F. Scott Fitzgerald</author>
                <year>1925</year>
            </book>
        </bookstore>';

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

while ($reader->read()) {
    if ($reader->nodeType == XMLReader::ELEMENT && $reader->name == 'book') {
        $category = $reader->getAttribute('category');
        echo "Category: " . $category . PHP_EOL;
    }
    if ($reader->nodeType == XMLReader::ELEMENT && $reader->name == 'title') {
        $title = $reader->readString();
        echo "Title: " . $title . PHP_EOL;
    }
    if ($reader->nodeType == XMLReader::ELEMENT && $reader->name == 'author') {
        $author = $reader->readString();
        echo "Author: " . $author . PHP_EOL;
    }
    if ($reader->nodeType == XMLReader::ELEMENT && $reader->name == 'year') {
        $year = $reader->readString();
        echo "Year: " . $year . PHP_EOL;
    }
}

$reader->close();

输出结果:

Category: Fiction
Title: The Great Gatsby
Author: F. Scott Fitzgerald
Year: 1925

以上示例中,我们首先创建了一个 XMLReader 对象,并将 XML 字符串传递给 xml() 方法进行初始化。然后,我们使用 read() 方法遍历 XML 文件的每个节点。当我们遇到 <book> 元素时,使用 getAttribute() 方法获取 category 属性的值,并打印出来。然后,我们分别遍历 <title><author><year> 元素,使用 readString() 方法获取它们的文本内容,并打印出来。最后,我们关闭 XMLReader 对象。

评论
一个月内的热帖推荐
啊龙
Lv.1普通用户

9545

帖子

31

小组

3242

积分

赞助商广告
站长交流