这可能是重复的,但到目前为止我没有发现任何有用的东西。
我正在尝试使用nodes/childs
计算XML
个simplexml
文件。
我试过了。
$xml = simplexml_load_file("./file.xml");
echo count($xml->rss->channel->item);
和
echo count($xml->item);
但只输出0
。
这里是XML
<?xml version="1.0"?>
<rss xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:g="http://base.google.com/ns/1.0" version="2.0">
<channel>
<item>
<title>PUDRA Pudra Ceket Ceket</title>
<link>http://www.trendyol.com//Pudra-Ceket-IW6140005046/UrunDetay/31066/9188683?</link>
<description>36 pudra pudra ceket ıw6140005046 ipekyol ceket kadın</description>
<g:urunid>1423905</g:urunid>
<g:id>1423905_14</g:id>
</item>
<item>
....
</item>
答案 0 :(得分:2)
这应该适合你:
echo count($xml->channel->item);
修改强>
为什么你必须这样做?因为表单simplexml_load_file()
会得到这样的结构(print_r($xml);
):
SimpleXMLElement Object
(
[@attributes] => Array
(
[version] => 2.0
)
[channel] => SimpleXMLElement Object
(
[item] => Array
(
由于这种结构,你必须像我说的那样访问对象(上图)。