如何获得文字和使用Jericho HTML解析器的特定标签之间的其他标签?

时间:2011-04-11 18:41:04

标签: java html-parsing jericho-html-parser

我有一个包含特定标记的HTML文件,例如<TABLE cellspacing=0>,结束标记为</TABLE>。现在我希望获得这些标签之间的所有内容。我在Java中使用Jericho HTML解析器来解析HTML。是否有可能得到文本&amp;杰里科解析器中特定标签之间的其他标签?

例如:

<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 个答案:

答案 0 :(得分:2)

找到表格的元素后,您所要做的就是调用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>

答案 1 :(得分:0)

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);
                }

            }