1

したがって、正規表現には副作用がある可能性があります。それでは、ドキュメント内のすべてのHTMLタグの開始文字と終了文字の位置を取得するための推奨される方法は何ですか?JsoupやNekoHTMLなどの解析ライブラリはこの情報を提供していないようです。XMLLocatorでさえ、現在のドキュメントイベントの終わりを提供するだけなので、適用されていないようです。

タグのタイプや名前、その属性、またはテキストから何かを取り除くことには興味がありません。どこから始まりどこで終わるのか知りたいだけです。

この質問の目的上、ソースHTMLが有効であると想定できます。

4

1 に答える 1

1

私は自分自身に興味があったので、このパーサーを見つけました:http: //jericho.htmlparser.net/

public void testJericho() throws IOException{

    Source source=new Source(new URL("http://example.com/"));
    List<Element> elementList=source.getAllElements();
    for (Element element : elementList) {
        printElement(element);
    }

}

public void printElement(Element element) {
    List<Element> children = element.getChildElements();
    for(Element child: children) 
        printElement(child);

    System.out.println(element.getName() + " start: " + element.getBegin());
    System.out.println(element.getName() + " end: " + element.getEnd());        
}
于 2012-02-18T11:35:14.267 に答える