或者使用 XMLReader::ELEMENT 和 XMLReader::END_ELEMENT 而不是数字 1 和 15。
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
XMLReader::getAttribute — 获取命名属性的值
name
属性的名称。
属性的值,如果未找到具有给定 name
的属性或未定位在元素节点上,则返回 null
。
版本 | 描述 |
---|---|
8.0.0 | 此函数不再返回 false 。 |
可能很明显,但对某些人来说不明显 ;-) ... 在从具有子节点的节点读取属性(并从此节点创建输出)时,输出将发出两次,一次在 <ELEMENT> 标签上,一次在结束标签 </ELEMENT> 上。为了避免这种情况,您可以在使用 nodeType 属性的节点的哪个部分进行测试。
它将是元素的 1,结束元素的 15。
要获取所有属性及其名称,请使用以下代码
<?php
function getAttributes($reader)
{
$attributes = [];
for ($i = 0; $i < $reader->attributeCount; $i++) {
$reader->moveToAttributeNo($i);
$attributes[$reader->name] = $reader->value;
}
return $attributes;
}
?>