0

我正在尝试在此 URL 处回显 XML 内容,但我遇到了困难。这是我到目前为止所拥有的:

$url = "GetVideosServlet?queryId=1";

$xml = simplexml_load_file($url);

$value = (string) $xml->results->item[0]->id;

echo $value;

我不断收到我试图获取非对象属性的错误。但我的印象是 simplexml_load_file 将我的 XML 字符串转换为一个对象?

如果有人能告诉我如何回应任何内容,我将不胜感激。

4

3 回答 3

4

我认为您只是错过了一个标签,请query尝试:

$value = (string) $xml->query->results->item[0]->id;
echo $value;
于 2012-07-02T11:15:47.913 回答
2

在调试时print_rvar_dump非常方便!例如在这种情况下,如果您在加载 $xml 后立即转储它,您会注意到您错过了 SimpleXMLElement Object 查询。

$url = "http://176.34.224.80/REMPADRecSys/GetVideosServlet?queryId=1";
$xml = simplexml_load_file($url);
echo "<pre>";
print_r($xml);

会给你输出:

SimpleXMLElement Object
(
    [query] => SimpleXMLElement Object
        (
            [@attributes] => Array
                (
                    [id] => 1
                )

            [results] => SimpleXMLElement Object
                (
                    [item] => Array
                        (
                            [0] => SimpleXMLElement Object
                                (
                                    [id] => GZ7w39jpqwo
                                    [rank] => 1
                                    [explanation] => Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla a massa lectus, sed convallis sapien. Curabitur sem mauris, ullamcorper ut. 
                                )

所以正确的参考$xml->query->results->item[0]->id;就像提到的@Lake。调试愉快。

于 2012-07-02T11:27:51.570 回答
0
simplexml_load_file(rawurlencode('http://176.34.224.80/REMPADRecSys/GetVideosServlet?queryId=1'));

试试这个。

于 2012-07-02T11:16:39.290 回答