【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】

PHP初心者なのですが、ご教示下さい!
きっと分かる方にとってはびっくりするくらい単純な話だと思うのですが・・・simplexmlでforeach中に記述した箇所がうまく出力されません・・。

基本的なやり方だと正常に行くのですが、ちょっと背伸びしてUTF-8をsjisにエンコードしたりそんな処理をはさむとダメです。(携帯サイト向けにsjisにしたいので。)

具体的には、

$xml = simplexml_load_file($url);

foreach ($xml->channel->item as $item ) {
$title = $item['title'];
$titles = mb_convert_encoding($title, "SJIS", "UTF-8");

  $data = "<h3>".$titles."</h3>\n";
}
print($data);


というような感じで、foreach中に$titlesの内容を出力させたいのですが、記述方法がどうも分かりません。

パースには成功していて、{$item->title}のように記述すると正常に出力されます。

どなたかアドバイスをいただけると幸いです。
よろしくお願いします。

A 回答 (2件)

他の方も書かれていますが、SimpleXMLで返されるのは連想配列ではなくオブジェクトですから、<item><title>タイトル</title></item> というXMLなら$item->title でアクセスします。



$item["title"] でアクセスできるのは、<item title="タイトル"></item> となっているXMLの場合です。
    • good
    • 0

$title = $item->title;


なのでは?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!