我有一个包含以下格式的rss xml数据。
<rss version="2.0"
xmlns:ht="http://www.yahoo.com/gold"
<channel>
<item>
<title>Title 1</title>
<description>description 1</description>
<ht:price>$22</ht:price>
</item>
</channel>
所以请提供如何捕获子对象,我已经尝试过
了 $url = "http://www.yahoo.com/gold/rss/xml";
$xml = simplexml_load_file($url);
for ( $i = 0; $i < 10; $i++ ){
$title = $xml->channel->item[$i]->title;
$description = $xml->channel->item[$i]->description;
$goldprice = $xml->channel->item[$i]->children('http://www.yahoo.com/gold');
$itemprice = $goldprice->price;
echo "</br>" ;
echo $title;
echo "</br>" ;
echo $description;
echo "</br>" ;
echo $itemprice;
echo "</br>" ;
但是我收到错误致命错误:在非对象上调用成员函数 children() ...
请提供解决方案如何解决此问题?
谢谢
您展示的显然不是您正在使用的完整 XML,但这里有一个 SimpleXML 的人为示例:
$xml = '<root><title>Title 1</title><description>Description 1</description><price>$22</price></root>';
// ^^^^^^ ^^^^^^^
// added to make this example work
$doc = simplexml_load_string($xml);
echo $doc->title; // Title 1
echo $doc->description; // Description 1
echo $doc->price; // $22
有比SimpleXML更好的工具,例如DOMDocument;如果你有时间,我建议你调查一下。