PHP Conference Nagoya 2025

XMLReader::getAttribute

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

XMLReader::getAttributeRécupère la valeur d'un attribut par nom

Description

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

Retourne la valeur d'un attribut par nom ou null si l'attribut n'existe pas ou n'est pas positionné sur le nœud.

Liste de paramètres

name

Le nom de l'attribut.

Valeurs de retour

La valeur de l'attribut ou null si l'attribut avec le name donné n'existe pas ou n'est pas positionné sur le nœud d'un élément.

Historique

Version Description
8.0.0 Cette fonction ne peut plus retourner false.

Voir aussi

add a note

User Contributed Notes 3 notes

up
7
Anonymous
13 years ago
Or use XMLReader::ELEMENT and XMLReader::END_ELEMENT rather than the numbers 1 and 15.
up
3
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