我读的XML看起来是这样的:
<show id="8511">
<name>The Big Bang Theory</name>
<link>http://www.tvrage.com/The_Big_Bang_Theory</link>
<started>2007-09-24</started>
<country>USA</country>
<latestepisode>
<number>05x23</number>
<title>The Launch Acceleration</title>
</latestepisode>
</show>
要获得(例如)在最新一集的数量,我会做:
$ep = $xml->latestepisode[0]->number;
这一切正常。 但我会做的就是从ID <show id="8511">
?
我曾尝试是这样的:
$id = $xml->show;
$id = $xml->show[0];
但没有奏效。
更新
我的代码片段:
$url = "http://services.tvrage.com/feeds/episodeinfo.php?show=".$showName;
$result = file_get_contents($url);
$xml = new SimpleXMLElement($result);
//still doesnt work
$id = $xml->show->attributes()->id;
$ep = $xml->latestepisode[0]->number;
echo ($id);
。大利XML:
http://services.tvrage.com/feeds/episodeinfo.php?show=The.Big.Bang.Theory
这应该工作。
$id = $xml["id"];
你的XML根成为了SimpleXML对象的根; 你的代码是由“秀”,不存在对骂一个CHID根。
您也可以使用这个链接一些教程: http://php.net/manual/en/simplexml.examples-basic.php
你需要使用属性
我相信这应该工作
$id = $xml->show->attributes()->id;
这应该工作。 您需要使用具有类型的属性(如刺值使用(字符串))
$id = (string) $xml->show->attributes()->id;
var_dump($id);
或这个:
$id = strip_tags($xml->show->attributes()->id);
var_dump($id);
您需要使用attributes()
来获得属性。
$id = $xml->show->attributes()->id;
你也可以这样做:
$attr = $xml->show->attributes();
$id = $attr['id'];
或者你也可以试试这个:
$id = $xml->show['id'];
在编辑您的问题展望( <show>
是你的根元素),试试这个:
$id = $xml->attributes()->id;
要么
$attr = $xml->attributes();
$id = $attr['id'];
要么
$id = $xml['id'];
试试这个
$id = (int)$xml->show->attributes()->id;
您需要格式化你的XML
正确,让它有examply使用<root></root>
或<document></document>
什么..看到XML规范和实例在http://php.net/manual/en/function .simplexml的负载string.php
$xml = '<?xml version="1.0" ?>
<root>
<show id="8511">
<name>The Big Bang Theory</name>
<link>http://www.tvrage.com/The_Big_Bang_Theory</link>
<started>2007-09-24</started>
<country>USA</country>
<latestepisode>
<number>05x23</number>
<title>The Launch Acceleration</title>
</latestepisode>
</show>
</root>';
$xml = simplexml_load_string ( $xml );
var_dump ($xml->show->attributes ()->id);
After you have correctly load the xml file using the SimpleXML objecto you can do a print_r($xml_variable)
and you can easily find which attributes you can access. As other users said $xml['id']
also worked for me.