PHP Conference Nagoya 2025

XMLReader::getAttribute

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

XMLReader::getAttributeLiefert den Wert eines Attributes nach Namen

Beschreibung

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

Der Wert des Attributes mit entsprechendem Namen oder null, wenn das Attribut nicht existiert oder der Cursor derzeit nicht über einem Elementknoten positioniert ist.

Parameter-Liste

name

Der Name des Attributes.

Rückgabewerte

Der Wert des Attributes oder null, wenn kein Attribut name im aktuellen Element gefunden wurde oder der Cursor derzeitig nicht über einem Elementknoten positioniert ist.

Changelog

Version Beschreibung
8.0.0 Diese Funktion gibt nicht mehr false zurück.

Siehe auch

add a note

User Contributed Notes 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