XMLReader扩展名是XML提取解析器。阅读器充当光标,在文档流上前进,并在途中停在每个节点上]
我想转到下一个,但父节点
<group>
阻止了我。
XML结构
<group name="blabla"> <o> <id>Value</id> <name>Value</name> <category>Value</category> </o> <o> <id>Value</id> <name>Value</name> <category>Value</category> </o> <o> <id>Value</id> <name>Value</name> <category>Value</category> </o> </group> <group name="blabla"> <o> <id>Value</id> <name>Value</name> <category>Value</category> </o> <o> <id>Value</id> <name>Value</name> <category>Value</category> </o> <o> <id>Value</id> <name>Value</name> <category>Value</category> </o> </group> etc..
我想转到下一个,但父节点阻止了我。
<?php
$reader = new XMLReader();
$reader->open($fileTMP);
while (true) {
if ($reader->nodeType === XMLReader::ELEMENT
&& $reader->name === XML_PRODUCT_ELEMENT_NAME
&& $reader->isEmptyElement === false) {
$item = simplexml_load_string($reader->readOuterXML(), null, LIBXML_NOCDATA);
$product = [];
$product['id'] = trim((string) $item->id);
$product['name'] = trim((string) $item->name);
if (isset($item->imgs->i)) {
foreach ($item->imgs as $image) {
$product['foto'][] = trim((string) $image->i['url']);
}
}
if (!$reader->next(XML_PRODUCT_ELEMENT_NAME)) {
break;
}
} else if (!$reader->read()) {
break;
}
}
$reader->close();
摘自文档:XMLReader扩展是XML提取解析器。阅读器充当光标,在文档流上前进,并在我要转到下一个的途中在每个节点处停止...
我认为您的主要问题是何时到达