使用xmlreader从节点读取具有相同名称的所有Child

时间:2019-12-10 17:39:07

标签: xmlreader

我尝试获取所有<declinaison>元素并将其存储在数据库中。同时,当我阅读<declinaison>时,我只会得到一个。我在做什么错了?

XML

<product>
<declinaisons>
<declinaison>ffffffff</declinaison>
<declinaison>dddddddd</declinaison>
<declinaison>cccccccc</declinaison>
<declinaison>bbbbbbbb</declinaison>
</declinaisons>
</product>

用于解析XML的PHP​​

$reader = new XMLReader();
$doc = new DOMDocument;
if (!$reader->open("https://www.xxxx.com/modules/fluxproduits/produits.xml")) {
  die("Failed to open 'https://www.xxxx.com/modules/fluxproduits/produits.xml'");
}
while($reader->read()) {
  if ($reader->nodeType == XMLReader::ELEMENT && $reader->name == 'produit') {
    $node = simplexml_import_dom($doc->importNode($reader->expand(), true));
    $id_produit = $node->id_produit;
    $vente_declinaison = $node->declinaisons->declinaison;
}}
$reader->close();

0 个答案:

没有答案