我正在努力制作能够从Picasa网络相册原子/ RSS Feed中检索照片和视频的内容。 Feed看起来像这样:
<!--XML heading above-->
<entry>
<gphoto:id>98387294</gphoto:id>
<gphoto:description></gphoto:description>
<!--More XML tags below-->
<media:group>
<media:content url="url here" type="video/mpeg4"></media:scontent>
<!--more media:content tags-->
</media:group>
</entry>
<!--more entry nodes below-->
我想要做的是通过每个条目标签,然后通过每个媒体:组标签,根据其大小属性检索特定的media:content
标签,并回显包含标签信息的html代码。这是我在下面的测试PHP代码:
//code to retrieve XML not shown
$xmlObj = simplexml_load_string($xmlFormatted);
foreach($xmlObj->children() as $entry){
$size = sizeof($entry->children());
foreach($entry->childNode[$size-1]->children() as $node){
echo $node . "\t";
}
echo "\n";
}
代码可以通过$xmlObj
的每个孩子来徘徊,但是我不能通过每个条目的孩子循环。我收到这个错误:
Fatal error: Uncaught Error: Call to a member function children() on boolean
错误与foreach($entry->childNode[$size-1]->children()
一致。我将如何循环通过子节点的子节点?或者,我如何获取<media:content>
的内容(由于冒号而不是普通的XML节点)?
这是我第一次尝试编写可以解释XML的代码,因此我的方法可能看起来不是最好的。