XMLReader获取节点名称

问题描述 投票:0回答:1

我正在使用XMLReader,我怎么能在一段时间内拥有每个节点名称?

$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();                 
    }
  }
}

我需要让这个方式的每个节点名称不起作用echo $reader->getAttribute(name)

php xml xmlreader
1个回答
0
投票

哎哟我找到了一种非常简单的解决方案...... omg

solution

这么简单的方法是在一段时间内添加第二个$ reader-> read();

    while($reader->read())
{
        if($reader->nodeType == XMLREADER::ELEMENT)
        {
                $name = (string)$reader->name;
                $reader->read();
                $valu = (string)$reader->value;
                echo $name .' --> '.$valu . "\n";
        }
}
© www.soinside.com 2019 - 2024. All rights reserved.