XMLReader::getAttribute
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
XMLReader::getAttribute — 名前をもとに、属性の値を取得する
説明
指定した名前の属性の値を返します。属性が存在しなかったり
現在位置が要素ノードでなかったりした場合には null
を返します。
パラメータ
name
-
属性の名前。
戻り値
属性の値を返します。指定した名前 name
の
属性が見つからなかったり、現在位置が要素ノードではなかったりした場合には
null
を返します。
変更履歴
バージョン | 説明 |
---|---|
8.0.0 |
この関数は false を返さなくなりました。
|
参考
- XMLReader::getAttributeNo() - インデックスをもとに、属性の値を取得する
- XMLReader::getAttributeNs() - 名前および URI をもとに、属性の値を取得する
+add a note
User Contributed Notes 3 notes
Anonymous ¶
13 years ago
Or use XMLReader::ELEMENT and XMLReader::END_ELEMENT rather than the numbers 1 and 15.
Gabi ¶
17 years ago
might be obvious, but not to everyone ;-) ... when reading attributes from a node that has sub-nodes (and creating an output from this node), the output will be issued twice, once on the <ELEMENT> tag and once on the end tag </ELEMENT>. To avoid this, you can test on which part of the node you are using the property nodeType.
It'll be 1 for the element, 15 for the end element.
sven at e7o dot de ¶
1 year ago
To get all attributes and their names, use something like this:
<?php
function getAttributes($reader)
{
$attributes = [];
for ($i = 0; $i < $reader->attributeCount; $i++) {
$reader->moveToAttributeNo($i);
$attributes[$reader->name] = $reader->value;
}
return $attributes;
}
?>
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google