人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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を使用しています。

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

●質問者: lily0717
●カテゴリ:インターネット ウェブ制作
✍キーワード:array_reverse as echo INDEX PHP
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● hanako393
●40ポイント

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

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

◎質問者からの返答

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

確認してみます。


2 ● Mook
●100ポイント ベストアンサー

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;
 }
◎質問者からの返答

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

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


3 ● 小力子象
●40ポイント

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

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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ