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 オブジェクトのクエリを見逃していることに気付くでしょう。

$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 に答える