使用JTidy从html中删除所需的标记



我在解析HTML时使用JTidy和xpath,但目前解析文本会给我带来一点麻烦,因为它可能包含b标签,所以我不想循环它的子节点,而只是在加载HTML后删除'b'标签。

如何从DOM文档中删除标签

Document doc = tidy.parseDOM(url.openStream(), System.out);

的伪代码- doc.removeTag('<b>');

你已经用'jdom'标记了这个,但是你的文档是一个DOM文档(不是jdom)。

当然,如果 JDOM,则可以使用相对简单的文档扫描将元素替换为其内容。或者,您可以使用一个自定义的SAXHandler来跳过添加Element。 例如,使用JDOM,您可以这样做:
for (Iterator <Content> it = document.getDescendants(); it.hasNext(); ) {
  Content c = it.next();
  if ((c instanceof Element) && "b".equals(((Element)c).getName())) {
    Element e = (Element)c;
    it.remove();
    for (Content k : e.getContent()) {
      k.detach();
      it.add(k);
    }
  }
}   

相关内容

  • 没有找到相关文章

最新更新