我有一个xml格式的rss,其中包含(格式正确的)
$xml = simplexml_load_file("/rss.xml");
echo $xml->item[0]->guid;
这段代码什么都没给我。
如果我var_dump
$xml
,我会获得40个数组。
有人可以猜到为什么吗?
的var_dump:
object(SimpleXMLElement)#1 (2) {
["@attributes"]=>
array(1) {
["version"]=>
string(3) "2.0"
}
["channel"]=>
object(SimpleXMLElement)#2 (6) {
["title"]=>
string(11) "example.com"
["link"]=>
string(23) "http://www.example.com/"
["description"]=>
string(43) "Example free hosting for free unicorn videos."
["lastBuildDate"]=>
string(31) "Mon, 18 Nov 2013 05:03:00 +0100"
["ttl"]=>
string(2) "20"
["item"]=>
array(40) {
[0]=>
object(SimpleXMLElement)#3 (5) {
["title"]=>
string(23) "..."
["description"]=>
string(766) ".. "
["link"]=>
string(59) "http://www.example.com/..."
["guid"]=>
string(12) "video5748963"
["pubDate"]=>
object(SimpleXMLElement)#43 (0) {
}
}
[1]=>
object(SimpleXMLElement)#4 (5) {
["title"]=>
string(48) "...s"
["description"]=>
string(789) "..."
["link"]=>
string(84) "http://www.example.com/,,,"
["guid"]=>
string(12) "video4863479"
["pubDate"]=>
object(SimpleXMLElement)#43 (0) {
}
}
....
答案 0 :(得分:2)
应该是
$xml->channel->item[1]->guid
让你获得指导。
答案 1 :(得分:0)
这是典型RSS文件的结构:
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
...
<item>...</item>
<item>...</item>
...
</channel>
</rss>
在您的通话中,您必须省略顶级节点(本例中为<rss>
),而不是二级节点:
echo $xml->item[0]->guid; // <channel>?