我使用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,但我不知道该怎么做。
请帮帮我。我读了教程并使用了这个函数,但是不能。
注:对不起,我的英语不好
我不使用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);
}
注:你张贴了明显不可编译的代码p.p.s.:为什么不使用一些从html创建普通DOM树的库呢?这样,您就可以使用一个常见的API来处理已解析的文档。