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 回答