PHP 8.4.0 RC4 available for testing

XMLReader::getAttribute

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::getAttributeGet the value of a named attribute

Descrição

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

Returns the value of a named attribute or null if the attribute does not exist or not positioned on an element node.

Parâmetros

name

The name of the attribute.

Valor Retornado

The value of the attribute, or null if no attribute with the given name is found or not positioned on an element node.

Registro de Alterações

Versão Descrição
8.0.0 This function can no longer return false.

Veja Também

adicione uma nota

Notas Enviadas por Usuários (em inglês) 3 notes

up
8
Anonymous
13 years ago
Or use XMLReader::ELEMENT and XMLReader::END_ELEMENT rather than the numbers 1 and 15.
up
4
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.
up
0
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;
}
?>
To Top