0

htmlcleaner を使用して HTML ファイルを解析します。これは html ファイルの例です。

.......<div class="name"><a href="http://example.com">Name</a></div>;...... 

Nameコードでこの構造を使用して単語を取得します

HtmlCleaner cleaner = new HtmlCleaner();
            CleanerProperties props = cleaner.getProperties();
            props.setAllowHtmlInsideAttributes(true);
            props.setAllowMultiWordAttributes(true);
            props.setRecognizeUnicodeChars(true);
            props.setOmitComments(true);
            rootNode = cleaner.clean(htmlPage);
TagNode linkElements[] = rootNode.getElementsByName("div",true);
            for (int i = 0; linkElements != null && i < linkElements.length; i++)
            {
            String classType = linkElements.getAttributeByName("name");
              if (classType != null)
              {
                  if(classType.equals(class)&& classType.equals(CSSClassname)) {  linkList.add(linkElements); }
                }

                System.out.println("TagNode" + linkElements.getText());
               linkList.add(linkElements);
            }
            and then add all of this name's to listview using
TagNode=linkelements.getText().toString()

;

しかし、私の例でリンクを取得する方法がわかりません。http://exxample.comへのリンクを取得したいのですが、どうすればよいかわかりません。

私を助けてください。チュートリアルを読んで機能を使用しましたが、使用できません。

PS 下手な英語でごめんなさい

4

1 に答える 1

0

私は HtmlCleaner を使用しませんが、javadocによると、次のようにします。

List<String> links = new ArrayList<String> ();
for (TagNode aTag : linkElements[i].getElementListByName ("a", false))
{
    String link = aTag.getAttributeByName ("href");
    if (link != null && link.length () > 0) links.add (link);
}

PS: 明らかにコンパイルできないコードを投稿しました PPS: html から通常の DOM ツリーを作成するライブラリを使用しないのはなぜですか? このようにして、一般的に知られている API を使用して、解析されたドキュメントを操作できるようになります。

于 2011-09-19T14:47:55.447 に答える