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のようにしても
何も出力できませんでした。
お願いします。
こんな感じでどうでしょう。
こういった、ある特定の条件に当てはまる要素を取得したい場合、本当はXPathを使うのがよいのですが、なぜか思ったように取得できないので取り合えず。
[追記]
XPathで出来ました。こんな方法もあるという参考に。
つまりこのような事ですか?
コードでも示してもらわないと、例の通りなら動くはずとしか言えませんが。
行き詰まったらコピーしたファイルをとにかく削って削って、バグのある一番シンプルなコードにしてみると見えてきます。
勘でありがちな所をかくと、文字コードの影響、実はコピペ失敗でXMLが壊れてる、要素名や属性名のスペルミス、あたりかな?
示していただいたコードを参考に、書き換えたところ
無事動きました。
どうやら余計なコードを書いていたようです。
"また、<link rel="next"~ が出てこなくなるまで何度も取得しようと思います。"
に関して
のようにコードを書いたところ一応nextのアドレスを取得することができました。
ただ、62行のように
直接指定しているため、スマートじゃない(というより、これ以外のXMLだと使用不可)
のためどのように改良すればよいかお願いします。
こんな感じでどうでしょう。
こういった、ある特定の条件に当てはまる要素を取得したい場合、本当はXPathを使うのがよいのですが、なぜか思ったように取得できないので取り合えず。
[追記]
XPathで出来ました。こんな方法もあるという参考に。
ありがとうございました。
やってみたところ出来そうです。
ありがとうございました。
やってみたところ出来そうです。