Получить ссылку из HTML-файла - PullRequest
0 голосов
/ 19 сентября 2011

Я использую 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, но я не знаю, что делать.

Пожалуйста, помогите мне. Я прочитал учебник и использовал эту функцию, но не могу.

P.S. Извините за мой плохой английский

1 Ответ

0 голосов
/ 19 сентября 2011

Я не использую 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: почему бы вам неиспользовать библиотеку, которая создает обычное дерево DOM из HTML?Таким образом, вы сможете работать с разобранным документом с помощью общеизвестного API.

...