基本的にここで独自のことをやろうとする必要があることはわかっています。ここはリクエストを行う場所ではありませんが、Html から何かを読み取らなければならないのは本当に嫌いです。その方法が本当にわかりません。
それで、私は 150 ポイントの報奨金を授与します (私が安いというわけではありません。私はこれ以上何もできません :( ) 良い助けを得ることができれば、または少なくともサンプル コードで正しい方向に向けられることができれば。 .
私は何を達成しようとしていますか?
- 次のNASA のページから最新ニュースを取得しようとしています。
- このニュースを ListView に表示する予定です。もちろん、ListView には最初は表示されるコンテンツがほとんどなく、上のページから入手できるデータのみが表示されます。ここに簡単なモックアップがあります。
それだけです。ユーザーがリンクをクリックすると、記事全体を表示する別のフラグメントに移動します。これが完了したら、後でその方法を見つけます。
そこで、次のビットで HtmlCleaner を使用してみました。
private class CleanUrlTask extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
try {
//try cleaning the nasa page.
mNode = mCleaner.clean(mUrl);
} catch (Exception e) {
Constants.logMessage("Error cleaning file" + e.toString());
}
return null;
}
@Override
protected void onPostExecute(Void result) {
try {
//For now I am just writing to an xml file to sort of read through
//God is HTML code ugly.
new PrettyXmlSerializer(mProps).writeToFile(
mNode, FILE_NAME, "utf-8"
);
} catch (Exception e) {
Constants.logMessage("Error writing to file: " + e.toString());
}
}
}
しかし、そこから、私はほとんど迷っています。XML出力は次のとおりです。ただし、記事のコンテンツごとに特定のタグ階層に何らかの繰り返しがあることに気付きました。次のようになります。左は画像と記事のリンク、右は記事のタイトルとプレビュー コンテンツです。
だから、誰かがどうにかしてコンテンツを入手する方法を理解するのを手伝ってくれるなら、私はそれを大いに感謝します.
補足として、このプロジェクトは 2013 NASA International Space Apps Challenge の一環としての教育目的のためのものです。詳細はこちら.
おまけの質問として、同じリンクには、現在のメンバーを含む、現在、将来、および過去の遠征の情報が含まれており、遠征の各メンバーには、バイオ ページへのリンクがあります。
それらのタグは反復的ではないように見えますが、名前は事前に設定されていて一定のようで、「tab1」、「tab2」、「tab3」などがあります。
そこから得たいことは次のとおりです。
- 遠征番号と日程。
- 遠征メンバー
- 各メンバーの略歴へのリンク。
繰り返しますが、もしあればサポートをありがとう、本当に感謝しています。