Как получить текст и другие теги между конкретными тегами, используя Jericho HTML-парсер - PullRequest
2 голосов
/ 11 апреля 2011

У меня есть HTML-файл, который содержит определенный тег, например, <TABLE cellspacing=0>, а конечный тег - </TABLE>. Теперь я хочу получить все между этими тегами. Я использую анализатор Jericho HTML в Java для анализа HTML. Можно ли получить текст и другие теги между определенными тегами в анализаторе Иерихона?

Например:

<TABLE  cellspacing=0>    
  <tr><td>HELLO</td>  
  <td>How are you</td></tr>
</TABLE>

Ответ:

<tr><td>HELLO</td>  
<td>How are you</td></tr> 

Ответы [ 2 ]

2 голосов
/ 11 апреля 2011

Как только вы нашли Элемент вашей таблицы, все, что вам нужно сделать, это вызвать getContent (). ToString ().Вот краткий пример использования вашего примера HTML:

Source source = new Source("<TABLE  cellspacing=0>\n" +
    "  <tr><td>HELLO</td>  \n" +
    "  <td>How are you</td></tr>\n" +
    "</TABLE>");

Element table = source.getFirstElement();
String tableContent = table.getContent().toString();

System.out.println(tableContent);

Вывод:

    <tr><td>HELLO</td>  
    <td>How are you</td></tr>
0 голосов
/ 09 июня 2011

Aby, я иду по коду для всех элементов и показываю на экране. Может быть, поможет вам.

        List<Element> elementListTd = source.getAllElements(HTMLElementName.TD);

        //Scroll through the list of elements "td" page
        for (Element element : elementListTd) {
            if (element.getAttributes() != null) {
                String td = element.getAllElements().toString();
                String tag = "td";
                System.out.println("TD: " + td);
                System.out.println(element.getContent());
                String conteudoAtributo = element.getTextExtractor().toString();
                System.out.println(conteudoAtributo);

                if (td.contains(palavraCompara)) {
                    tabela.add(conteudoAtributo);
                }

            }
...