PHPとXMLを使用して、簡易のお知らせ掲示板のようなものを作っています。

書き込みページ(master.php)からXMLファイルに書き込むことは出来たのですが、表示ページ(index.php)にXMLを出力する際、最新の書き込んだデータから出力する方法はないでしょうか?

//index.php
$xml = simplexml_load_file("topics.xml") or die("XMLパースエラー");
foreach ($xml->topic as $topic){
echo $topic->title;
}

上記のような感じで出力していて、array_reverse($xml->topic);で、反転できないかなと思ったのですが、エラー表示が出て上手くいきませんでした。また、master.phpでXMLに書き込みをする際、文の先頭に追加できないかと思ったのですか、方法が見つかりません・・・。
PHP Version 5.2.10を使用しています。

すごく初歩的なことかもしれませんが、よろしくお願いします。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2010/06/12 10:27:05
  • 終了:2010/06/13 21:32:55

ベストアンサー

id:Mook No.2

Mook回答回数1312ベストアンサー獲得回数3912010/06/12 14:42:35

ポイント100pt

XML で作成されるオブジェクトの構造は単純な Array ではないため、array_reverse が適用できないのだと思います。

面倒ですが、下記のように書いたらどうでしょうか。

//index.php
    $xml = simplexml_load_file("topics.xml") or die("XMLパースエラー");
    for( $i=count($xml->topic) - 1 ; $i>=0 ; $i-- ) {
        $topic = $xml->topic[$i];
        echo $topic->title;
    }
id:lily0717

ありがとうございます!!

この方法で上手くいきました!

2010/06/13 21:28:23

その他の回答(2件)

id:hanako393 No.1

hanako393回答回数1142ベストアンサー獲得回数872010/06/12 10:55:45

ポイント40pt

http://f32.aaa.livedoor.jp/~azusa/?t=php&p=simplexml#a_simplexml...

このあたりを使えばどうでしょうか?

id:lily0717

ご回答、ありがとうございます。

確認してみます。

2010/06/12 13:39:35
id:Mook No.2

Mook回答回数1312ベストアンサー獲得回数3912010/06/12 14:42:35ここでベストアンサー

ポイント100pt

XML で作成されるオブジェクトの構造は単純な Array ではないため、array_reverse が適用できないのだと思います。

面倒ですが、下記のように書いたらどうでしょうか。

//index.php
    $xml = simplexml_load_file("topics.xml") or die("XMLパースエラー");
    for( $i=count($xml->topic) - 1 ; $i>=0 ; $i-- ) {
        $topic = $xml->topic[$i];
        echo $topic->title;
    }
id:lily0717

ありがとうございます!!

この方法で上手くいきました!

2010/06/13 21:28:23
id:koriki_kozou No.3

小力子象回答回数78ベストアンサー獲得回数22010/06/12 16:23:47

ポイント40pt

PHP のバージョン 5 では、XML を読み書きするための新しい API (application programming interface) である、SimpleXML が導入されています。例えば SimpleXML では、

$doc->rss->channel->item->title
||>
のような表現を使って文書から要素を選択することができます。文書の構造をよく理解していれば、こうした表現を容易に書くことができます。もし対象となる要素が具体的にどこに現れるのかわからない場合には (Docbook や HTML、そしてそれと同様の叙述形式の文書ではよくあることです)、SimpleXML はそうした要素を XPath 式を使って見つけることができます。
id:lily0717

ご回答、ありがとうございます。

要素を取り出すことは出来たのですが、要素を取り出す順番を操作できません・・・。

2010/06/13 21:31:59

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません