0

htmlparser.Parser,我有 html 的片段(见下文),我需要在我的文件中获取一堆这些容器 div 的内容,其中包含 unqiue id。我可以得到 div 和它们的内部 html 就好了。我不知道如何获取 H3 标签之间的内容

这段代码适用于 div,但不适用于 h3:如果找到具有正确 ID 的 h3,我就是不知道如何获取 innerHTML 或标签之间的内容。

谢谢你的帮助

    parser = new Parser();
    parser.setInputHTML(inHTML);
    parser.setEncoding("UTF-8");
    lstNodes = parser.extractAllNodesThatMatch(  new AndFilter(new TagNameFilter("h3"),
                                                  new HasAttributeFilter("id", "h3_"+num)));

这会找到它,但不会返回 h3 之间的数据

 <div class="container" id="container_2">
      <h3 id="h3_2">Adding a few</h3>       
      <div class="maindiv" id="div_2">
          ...new articles in here jus tto flesh it out.
      </div><!--end of div_2-->
  </div>
4

2 回答 2

1

我最终创建了自己的标签

class H3Tag extends CompositeTag
于 2012-03-29T01:34:01.577 回答
1

您快到了。您可以HeadingTag手动将其转换为,并用于getStringText()获取标签之间的文本。

NodeList nodes = parser.extractAllNodesThatMatch(new AndFilter(new TagNameFilter("h3"),
    new HasAttributeFilter("id", "h3_"+num)));
SimpleNodeIterator nodeIterator = nodes.elements();
while (nodeIterator.hasMoreNodes()) {
    Node node = nodeIterator.nextNode();
    HeadingTag tag = (HeadingTag)node;
    System.out.println(tag.getStringText());
}
于 2012-03-29T02:36:52.253 回答