1

私は HTML の解析に JTidy と xpath を使用していますが、テキストの解析には b タグが含まれている可能性があるため、しばらくの間、少し問題が発生します。そのため、子ノードをループしたくなく、単に 'b' タグを後で削除します。 html をロードします。

DOM ドキュメントからタグを削除するにはどうすればよいですか。

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

たとえば、そのための擬似コード-doc.removeTag('<b>');

出来ますか ?

4

1 に答える 1

0

これを「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);
    }
  }
}   
于 2013-04-09T10:29:02.497 に答える