0

私は多くの同様の質問を見ることができましたが、正確ではありません。Jsoupを使用してDOMからすべての非htmlタグデータ(プレーンテキスト)を削除したいだけです。結果は、プレーンテキストのない単なるマークアップになります。

jsoupに組み込まれていますか、それとも独自の正規表現を作成する必要がありますか?RegExpではなくDOM全体を解析し、タグ内のコンテンツを削除する方がよいでしょうか。

大量のドキュメント/ページを1つずつ継続的に解析する必要がある場合、どちらがより効率的ですか?

[解決済み] -以下のコードを参照してください(私の要件について)

public void getNodesHtml(Elements children, Element parent) throws Exception {
    for(Element e : children) {
        String nodeName = e.nodeName();
        String id = e.id().isEmpty() ? "" : e.id();
        parent.append("<" + nodeName + " id=\"" + id + "\"> </" + nodeName + ">");

        Elements subchildren = e.children();
        getNodesHtml(subchildren, e);
    }
}
4

1 に答える 1

0
removeText(Element node){

    List<TextNode> textNodes = node.textNodes();

    for(TextNode tn : textNode){
        tn.remove();
    }

    Elements children = node.children();
    for(Element e : Elements)
        removeText(e);
}
于 2012-04-18T05:58:36.193 に答える