6

jsoup 要素をソース HTML の特定の文字オフセットにマップする必要があります。つまり、次のような HTML があるとします。

Hello <br/> World

「Hello」はオフセット 0 から始まり、長さは 6 文字、<br/>オフセット 6 から始まり、長さは 5 文字などであることを知る必要があります。

Element javadoc に、この情報を返す getter が見つかりませんでした。回収できますか?

4

1 に答える 1

0

Jsoupにこの機能があるとは思いません。この質問は、HTML構文解析よりも字句解析に近いようです。

文法を記述してから、その文法に対してHTMLをトークン化するレクサーを記述し、探しているオフセットを提供します。

まず、Jsoupを使用してドキュメントを解析し、有効なHTMLであることを確認します。

次に、文法に対してドキュメントを字句的に分析します。文法は次のようになります。

Document := {optional-opening-tag} | {literal} {optional-opening-tag} | {optional-closing-tag}

optional-opening-tag := ["<" {literal} ">" {optional-opening-tag}|{literal} ] | ""

optional-closing-tag := "</ {literal} ">" | ""

literal := any string of characters not beginning with whitespace, or containing "<"

トークン、最初の文字のインデックス、および長さを格納するオブジェクトに見つかった各トークンを挿入します。

于 2013-02-25T00:10:36.333 に答える