2009-03-23 11 views

答えて

1

これは、「私は正確に何を達成するために使用するコードです私はあなたにいくつかのヒントを教えてあげましょう。

Java Swing環境の場合は、javax.swing.text.htmlおよびjavax.swing.text.html.parserパッケージのメソッドを必ず使用してください。残念ながら、それらは主にJEditorPaneでの使用を意図していますが、私はまだこれらを見ておくことを強くお勧めします。

HTMLの開始タグと終了タグを識別するHTML.Tagと呼ばれるクラスがJava 6 APIにあります。このタグを使用して、プログラムに従うリンクがどこにあるかを判断できます。あなたがメッセージを私にすることができ、

public void handleStartTag(HTML.Tag t, MUtableAttributeSet atts, int pos) 
public void handleEndTag(HTML.Tag t, int pos) 
public void handleText(char[] text, int pos) 

あなたはこれらのメソッドを記述する方法についての詳細なヘルプが必要な場合は、基本的に、あなたは以下のとおりです。私はこれに非常に似たプログラムを書いたときhttp://java.sun.com/javase/6/docs/api/javax/swing/text/html/HTML.Tag.html

は、私は主に3つのメソッドを使用しました最初のタグと終了タグを探して、それからあなたがそのURLを特定したならば、そのURLに続く次のステップに進むことができます。

URLに従うには、JEditorPaneオブジェクトを使用することをお勧めします。 javax.swing.event。HyperlinkListenerインターフェイスでは、URLを渡してからJEditorPaneオブジェクトの.setPage(evt.getURL())を呼び出すことができるhyperlinkUpdate(HyperlinkEvent e)というメソッドを1つだけ定義します。これにより、ペインが新しいページで更新され、プロセスを再開できます。

私はあなたに何かのprobsがあり、この回答を投票してください!

2

これをワンタイム編集タスクとして使用したいのですか、体系的(つまりコード化)の実装が必要ですか? 2番目のケースでは、Java HTMLパーサの実装を見つけて、DOMツリーを歩きます。

http://java-source.net/open-source/html-parsers

+0

これは、いくつかのJavaコードを使用して行う必要があります。 –

+0

http://www.benmccann.com/dev-blog/java-html-parsing-library-comparison/ – trunkc

0

あなたのファイルがXHTML文書であれば、それは標準のXMLドキュメントと、それはjdomを使用している解析する靱皮方法です。 JDomは非常に強力で使いやすく理解しやすいです。

html文書をお持ちの場合はhtmlparser、詳しくはLinkTagとお試しください。

0

ました。ロードされると、getElementByを使用して任意のノードに移動したり、値を取得したりできます。

0

私はtagsoupを見ています。これは、どのHTMLドキュメントからでも最も適合しないDOMツリーを構築します。

その後のNodeList上でXPathを使用し、反復によって返さ:

//

// IMG

0

私はNeko HTML Parserをこの種のもの(スクリーンスクレイピング)に使用しました。

 
import org.cyberneko.html.parsers.DOMParser; 
import org.w3c.dom.Node; 

public class TestParser { 

    public static void main(String[] argv) throws Exception { 
      DOMParser parser = new DOMParser(); 
      for (int i = 0; i
関連する問題