0

I'm using XMLReader, how can I have in a while every node name?

$reader = new XMLReader;
$reader->xml($MyXml);
while ($reader->read() !== FALSE) {
  if ($reader->name === 'Product' && $reader->nodeType === XMLReader::ELEMENT) {    
    if ($reader->readString() != '') {
      echo $reader->getAttribute(name).'  -->  '.$reader->readString();                 
    }
  }
}

I need to have every node name this way don't work echo $reader->getAttribute(name)

RobertT
  • 4,300
  • 3
  • 29
  • 36
  • Possible duplicate of [How to use XMLReader in PHP?](https://stackoverflow.com/questions/1835177/how-to-use-xmlreader-in-php) – Mohammad Sep 16 '18 at 10:33
  • hello Mohammad i saw a post u remind me but i didnt found how to get node name, im not so expert with XMLReader (first time i use) do u know how can i have that attribute? – Nicola Lorenzini Sep 16 '18 at 10:45
  • You can get node name in while using `$reader->name` – Mohammad Sep 16 '18 at 11:09

1 Answers1

0

Ouch i found a way in really simple solution... omg

solution

so simple way was in a while add a second $reader->read();

    while($reader->read())
{
        if($reader->nodeType == XMLREADER::ELEMENT)
        {
                $name = (string)$reader->name;
                $reader->read();
                $valu = (string)$reader->value;
                echo $name .' --> '.$valu . "\n";
        }
}