問題タブ [rome]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
550 参照

java - Java を使用した RSS リーダーおよびパーサー

Java を使用して RSS リーダーを実装する必要があります。

RSS フィードの XML URL を読み取り、コンテンツを取得して Java クラスに格納する Java クラスを設計しました。

RSS フィール URL に更新があるたびに、Java クラスを使用して RSS フィードの XML URL を解析する必要があります。そうしないと、更新されたコンテンツを取得できませんでした。

ここでの問題は、Java クラスが URL を解析して更新されたコンテンツを取得できるように、RSS Feel XML URL が更新されたことを Java クラスに通知する方法です。

解析プロセスを継続的に実行するには、スレッドを実装する必要がありますか? またはそこに別の最適なソリューションはありますか?

0 投票する
0 に答える
540 参照

rss - ROME を使用して RSS フィードのすべてのエントリをダウンロードする

Scala から ROME を使用して RSS フィードをダウンロードしていますが、エントリのサブセットしか取得していません。たとえば、Google リーダーはBing Imagesに対して少なくとも 61 のエントリを検出しますが、ROME は 10 のエントリしか検出しません。ここにいくつかのコードがあります:

これはフィードに固有のものではありません。この Flickr フィードには多くのエントリがありますが、この場合、ROME は 20 のエントリを見つけます。

フィード内のエントリの完全なリストを取得するにはどうすればよいですか?

0 投票する
3 に答える
2934 参照

java - Rome を使用した有効な RSS 2.0

私の Java アプリケーションの RSS を生成するためにローマ 1.0を使用しています。

私のJavaで:

生成された RSS:

ここでRSS が検証されると、次の推奨事項があります。

  • 項目に pubDate と dc:date の両方を含めないでください
  • アトムがありません:rel="self" のリンク

ローマ図書館で推薦を行う方法は?生成されたRSSは大丈夫ですか?

ありがとう。

0 投票する
1 に答える
818 参照

java - ROMEのDateParserをオーバーライドする簡単な方法は?

私が処理する必要がある RSS 2.0 フィードは、ROME の DateParser が解析できない日付エントリを返しnull、すべての日付を配信します。さらに、適切な SimpleDateFormat パターン (単純に rome.properties で指定できるもの) が存在しないため、入力を解析する前に前処理する必要があります。ROME の DateParser は、Java DateFormat パーサーに供給する前に、RFC822 日付入力の「UT」を「GMT」に置き換えるなど、すでに内部でそのようなことを行っています。同様の変更を追加するだけです。

私が今行っていることは、ROME の RSS20Parser.java とそれが拡張するすべてのフィード パーサー クラスのコピーをプロジェクト内に含めることです。ROME の DateParser へのすべての参照をカバーするために必要な限り、フィード パーサー クラスが次にクラスを作成する独自の DateParser クラスを提供します。元の DateParser の代わりに参照します。

ROME のプラグイン構造を考えると、私は自分の DateParser を簡単にプラグインできることを望んでいましたが、そうする方法が見つかりませんでした。私は何か見落としてますか?自分の DateParser で ROME を使用することはできますか?ただし、それを使用することが期待されるすべてのフィード パーサー クラスを複製する必要はありませんか?

0 投票する
1 に答える
626 参照

java - JSP に正しくインポートしたはずのこのタイプが IDE で認識されないのはなぜですか?

これは私を怒らせており、私はすでにここここで以前の答えを探していましたが、これまでのところ役に立ちませんでした.

RSSフィード用のRomeライブラリを使用して、サーブレットを使用してフィードエントリをJSPに出力するこのチュートリアルに従おうとしています。私は Eclipse を使用しています。JAR をプロジェクトのビルド パスと WEB-INF/lib フォルダーに配置したにもかかわらず、Rome の「SyndFeed」クラスを認識しません。次のコードでは、まだ「未定義の型」と表示されています。

この上に、私は持っています:

Rome を使用する私のサーブレットは、基本的にチュートリアルからそのままです。

サーブレットにコンパイル エラーは表示されません。from を含むすべてのインポートは OK ですcom.sun.syndication.feed.synd.SyndFeed

私は途方に暮れています。よろしくお願いします。

0 投票する
3 に答える
19168 参照

java - java.lang.ClassNotFoundException:org.jdom.JDOMException

RSSページを読み込もうとすると、次のエラーメッセージが表示されます。

エラーをトリガーするコード行は次のとおりです。

私はこのエラーメッセージをグーグルで検索し、このサイトへの投稿を含む、それに関するいくつかの投稿を読みました。これらの投稿は、ビルドパスにjdom.jarを追加すると、エラーがなくなることを示唆しています。ただし、jdom-2.0.4.jarにバンドルされている8つのjarファイルすべてをeclipseのビルドパスに追加しましたが、rssページを読み込もうとするたびにエラーメッセージが表示されたままになります。

問題は、jdom-2.0.4.jarを古い構文で使用しているという事実にあるのではないかと思います。

このエラーメッセージの他の投稿はすべて、古いバージョンのjdomからのものでした。おそらく、新しいバージョンのjdomでSyndFeedOutput()に相当するものを呼び出すための新しい構文がありますか?

誰かが私がこのエラーメッセージを乗り越えるのを手伝ってもらえますか?

編集:

Nocmearの提案に対処するために、次の9つのjarファイルが、アプリケーションのビルドパスに含まれているjdomまたはromeに関連する唯一のjarファイルであることを確認しました。

2番目の編集:


rolflが提案したように、jdom-1.1.3をダウンロードして、eclipseのアプリケーションのビルドパスに追加しました。

Webブラウザにrssページをロードしようとすると、tomcatから次のエラーログが表示されました。

現在ビルドパスに含まれている関連するjarファイルは次のとおりです。

また、Nocmearの提案に従って、代わりにtomcatのbinファイルにこれらのjarファイルを追加しようとしましたが、それがEclipseでエラーメッセージをトリガーしただけなので、Eclipseアプリケーションに戻しました。

おそらく私は人々が何を示唆しているのか理解していません。あるいは、誰かが他の提案をしているかもしれません。どんな助けでも大歓迎です。

0 投票する
1 に答える
2957 参照

java - Rome API を使用してフィードから画像 URL を読み取ることができません

RSS/Atom フィードを解析するために ROME パーサーを使用しています。問題は、ニュース フィード/エントリの画像 URL が表示されないことです。問題の一部は、フィードに一貫性がなく、画像の URL が一貫していないことにもあります。

<media:thumbnail...>BBC ニュースは要素内に画像の URL を配置します

ただし、一部のニュース フィードでは、エンクロージャー要素内に画像が配置されます。また、一部のフィードにはそれらがまったくありません。

だから私の問題は次のとおりです。フィードに存在する場合、どうすれば取得できますか。これまでのところ、Rome API は完璧に機能しています。しかし、今私はこれで立ち往生しています。

0 投票する
1 に答える
513 参照

java - Rome RSS は同封物を解析しません

エンクロージャー (ポッドキャスト用) を持つ Rss フィードを Rome で作成しようとしています。だから私はエントリを作成します

エントリの基本情報 (タイトルやリンクなど) を設定した後、メディア ファイルを含むエンクロージャを設定したいと考えています。

しかし、RSSファイルを出力すると

同封物は RSS ファイルには表示されません。

0 投票する
1 に答える
1132 参照

java - Java ROME パーサーのデフォルトのソケットタイムアウトを変更するには?

XML パーサーとして Java ROME を使用して、かなりの量の RSS フィードをカスケードで解析しています。ネットワークの問題が原因で、RSS フィードの 1 つに到達できない場合があり、その結果、XMLReader オブジェクト ( new XMLReader(url)) を作成しようとすると、Socket タイムアウトが発生します。

問題は、デフォルトのタイムアウトが約 20 年間続き、それが発生するとプロセス全体が遅くなることです。

Java ROME でデフォルトのソケット タイムアウトを変更する方法はありますか?

0 投票する
1 に答える
1428 参照

java - Rome で SyndFeed を SyndEntry に変換する

私は現在、XML フィードの解析 (Atom 2005) を意味するプロジェクトに取り組んでおり、これを行うために Rome を使用しています。

現在、解析する XML 構造は 2 種類あります。

最初のタイプ:

(複数のエントリを含む 1 つのフィード)

2 番目のタイプ:

(1 つのエントリですが、「フィード」には含まれません)

私の目的は、入力 XML を解析して情報を取得する Bean "MyEntry" を作成することです。私の理想は、コンストラクターを 1 つ持つことです (たとえば、引数として SyndEntry を取ります)。

私はそれをしました:

最初のタイプの XML フィードを取得すると、「SyndEntry」オブジェクトを取得できます。

--> しかし、2 番目のタイプの XML には「フィード」コンテナがなく、XML から SyndEntry を直接構築する方法が見つかりません (「SyndEntryInput」のように?)。すべての情報にアクセス可能なままでも、「SyndEntry」ではなく「SyndFeed」が表示されます。

したがって、スーパークラス (SyndEntry と SyndFeed に共通するスーパークラスが見つかりません) または専用コンバーターを使用して、SyndFeed を SyndEntry に変換 (またはその逆) する方法を探しています。

私の現在の解決策は、2 つのコンストラクターを作成することです (1 つは「SyndFeed」を受け取り、もう 1 つは「SyndEntry」を受け取ります)。一般的な情報 (例: getSyndData().getTitle())

どんな助けやアイデアもいただければ幸いです