2012-01-28 2 views
0

私はphpを使ってxml docのさまざまな要素を解析するforループを作成しようとしています。私は、「i」は、XMLドキュメント内のエントリのそれぞれをカウントすると番号を交換しようとしましたが、私はエラーを取得するしかしphpでxmlを解析中のループですか?

$s = $xml->entry[0]->children($namespaces['s']); 

致命的な(:私はライン内のエントリの数を置くときに解析し、エラー:10行目の/home/content/c/a/s/cashme/html/buylooper/xml.phpの非オブジェクト上のメンバー関数children()を呼び出してください。これをどうやって解決するのですか?

<?php 
$url = 'xml-file.xml'; 
$xml = simplexml_load_file($url); 
$namespaces = $xml->entry->getNameSpaces(true); 

for ($i = 0; $i <= 10; $i += 1){ 

$s = $xml->entry[i]->children($namespaces['s']); 
$title = $s->product->title; 

//print 
echo $retailer; 

} 
?> 
+0

'i'のある値に対して存在する。 – Hamish

+3

おそらく$ i – Ben

+0

@ben、そうだね。ありがとう。 – sharataka

答えて

2

iの代わりに$ iを使用する必要があります。サイドノートとして

このバグはで非常に明白開発マシン上になる必要があります。

あなたはUse of undefined constant i - assumed 'i'

ような警告になるだろう(あなたはどこかに定数として、私が定義されているが、それは奇妙な定数名でない限り) `$ XML->エントリは、[i]は`ないことを意味し