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 — İsmi belirtilen özniteliğin değerini döndürür
İsmi belirtilen özniteliğin değerini döndürür. Öznitelik yoksa veya eleman
düğümünde özniteliğe konumlanamıyorsa null
döner.
isim
Özniteliğin ismi.
İsmi belirtilen özniteliğin değerini bir dizge olarak döndürür. Öznitelik
yoksa veya eleman düğümünde özniteliğe konumlanamıyorsa null
döner.
Sürüm: | Açıklama |
---|---|
8.0.0 |
Bu işlev artık false döndürmüyor.
|
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:
<?php
function getAttributes($reader)
{
$attributes = [];
for ($i = 0; $i < $reader->attributeCount; $i++) {
$reader->moveToAttributeNo($i);
$attributes[$reader->name] = $reader->value;
}
return $attributes;
}
?>