Or use XMLReader::ELEMENT and XMLReader::END_ELEMENT rather than the numbers 1 and 15.
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
XMLReader::getAttribute — Obtém o valor de um atributo nomeado
Retorna o valor de um atributo nomeado ou null
se o
atributo não existir ou se não estiver posicionado em um nó de elemento.
name
O nome do atributo.
O valor do atributo, ou null
se nenhum atributo com o
name
fornecido for encontrado ou se não estiver posicionado em um nó de elemento.
Versão | Descrição |
---|---|
8.0.0 |
Esta função não pode mais retornar false .
|
Or use XMLReader::ELEMENT and XMLReader::END_ELEMENT rather than the numbers 1 and 15.
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.
To get all attributes and their names, use something like this:<?phpfunction getAttributes($reader){ $attributes = []; for ($i = 0; $i < $reader->attributeCount; $i++) { $reader->moveToAttributeNo($i); $attributes[$reader->name] = $reader->value; } return $attributes;}?>