アプリ版:「スタンプのみでお礼する」機能のリリースについて

以前、「RSSからblog(ブログ)の本文を抽出したい」という質問をした者です。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1677591

以前ご教授いただいた方法でプログラムを作り、
javaのDOMを使ってRSSからブログの本文を抽出することができましたが、
(参考:http://www.hellohiro.com/xmldom.htm HelloWorldDOMPageList.java)
特定のブログのRSSからは本文のデータを取得することができませんでした。

例えば、exiteやFC2などのブログのRSSからはデータを取得することができませんでした。

リンクや、タイトルなどは問題なく取得できるのですが、
本文が記述されている要素(例えば、exiteならdescription,FC2ならcontent:encoded)
内のデータを取得しようとすると、プログラムの結果として、
何も取得できずに、空白となってしまいます。

ライブドアやヤフーなど他のブログのRSSでは成功したのですが…

何か問題があるのでしょうか?

よろしくお願いします。

A 回答 (2件)

>何か問題があるのでしょうか?


何が問題で片方で取れて片方で取れないのか
ちょっとよくはわからないのですが、
とりあえず

NodeList contentList = element.getElementsByTagName("content:encoded");
Element contentElement = (Element)contentList.item(0);
String content = contentElement.getTextContent();

のようにgetTextContentを使ってみるとうまくいきました。
    • good
    • 0
この回答へのお礼

再びありがとうございます。

上記の方法で取得することができました。

お礼日時:2005/10/04 22:45

>何も取得できずに、空白となってしまいます。


の原因は、
ライブドアなどが
<content:encoded><![CDATA[
になっているのに対し、うまくいかない方は
<content:encoded>
<![CDATA[…
のように別の行になっていることが原因ですね。
改行が1つ入っているためにCDATAセクションの前にテキストノードが1つできていて、
content:encodedの最初のノードの内容を取り出すと空行しかないので値が取れないということだと思います。
対処としては#1でいいと思います。
    • good
    • 0
この回答へのお礼

分かりやすい説明ありがとうございます。
よく理解することができました。

お礼日時:2005/10/04 22:50

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