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

はてなブックマークATOM APIで取得したRSSの解析

http://q.hatena.ne.jp/1312448637で質問した内容を元に自分のはてなブックマークをXML形式で取得することができました。
やりたいこととしては、このXMLの各要素(ブックマークしているページのタイトル、URL、タグ)をデータベースに入れたいと考えています。
また、<link rel="next"? が出てこなくなるまで何度も取得しようと思います。

データベースに入れる前にひとまず要素だけを取得し表示しようと思い、
http://php.net/manual/ja/simplexml.examples-basic.php
を参考に
example.phpを取得したXML
にし、例2を参考にすることによってタイトルは取得することができました。
ただ、例6を参考にしブックマークしたページのURLは取得することができませんでした。
また、http://4ki4.cocolog-nifty.com/blog/2008/08/php_simplexmlxm_90c5.html
などを参考にdc:subjectも処理しようと考えコードBのようにしても
何も出力できませんでした。

お願いします。

●質問者: whiterdev
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:API atom DC LINK NeXT
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● TransFreeBSD

つまりこのような事ですか?

コードでも示してもらわないと、例の通りなら動くはずとしか言えませんが。

行き詰まったらコピーしたファイルをとにかく削って削って、バグのある一番シンプルなコードにしてみると見えてきます。


勘でありがちな所をかくと、文字コードの影響、実はコピペ失敗でXMLが壊れてる、要素名や属性名のスペルミス、あたりかな?

◎質問者からの返答

示していただいたコードを参考に、書き換えたところ

無事動きました。

どうやら余計なコードを書いていたようです。

"また、<link rel="next"? が出てこなくなるまで何度も取得しようと思います。"

に関して

http://codepad.org/h3de7yMN

のようにコードを書いたところ一応nextのアドレスを取得することができました。

ただ、62行のように

直接指定しているため、スマートじゃない(というより、これ以外のXMLだと使用不可)

のためどのように改良すればよいかお願いします。


2 ● TransFreeBSD
ベストアンサー

こんな感じでどうでしょう。

こういった、ある特定の条件に当てはまる要素を取得したい場合、本当はXPathを使うのがよいのですが、なぜか思ったように取得できないので取り合えず。

[追記]

XPathで出来ました。こんな方法もあるという参考に。

◎質問者からの返答

ありがとうございました。

やってみたところ出来そうです。

関連質問


●質問をもっと探す●



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