我正在尝试使用getElementsByTagName
$xmlString = '<?xml version="1.0" encoding="UTF-8"?>
<order>
<line-items type="array">
<line-item>
<title>Title 1</title>
</line-item>
<line-item>
<title>Title 2</title>
</line-item>
</line-items>
</order>';
但是只能得到第一个结果(标题1)。
$dom = new DomDocument();
$dom->loadXML($xmlString);
$order = $dom->getElementsByTagName('line-items');
foreach($order as $get){
echo $dom->getElementsByTagName('title')->item(0)->textContent;
}
如何确保循环遍历line-items
并在title
每个line-item
中获得Undefined index: email in /var/www/html/subscribe.php on line 9
的每次迭代?
答案 0 :(得分:0)
您需要遍历所有&#39;行项目&#39;元素和获得标题,而不是&#39;行项目&#39;因为它只出现一次。因此修改后的代码可能如下所示:
$order = $dom->getElementsByTagName('line-item');
foreach($order as $get){
//echo $dom->getElementsByTagName('title')->item(0)->textContent;
//echo $order->getElementsByTagName('title')->item(0)->textContent;
echo $get->getElementsByTagName('title')->item(0)->textContent;
}
这应该可以解决问题。