0

次のような HTML を取得する必要があります。

<p> <span> <ul> <li>LIST ELEMENT</li> </ul> </span> </p>

...そしてそのDOM階層を保持しながら解析します。

上記を解析すると、Jsoup は次のように吐き出します。

<span></span><ul><li>LIST ELEMENT></li></ul>

さまざまな HTML バリデーターで元の HTML を解析しようとしましたが、それらはすべて無効であると言って同じことをします。これはわかっていますが、この無効なマークアップを保持する必要があります。

無効であるにもかかわらず、この階層を保持するために Jsoup に設定できる設定はありますか?

4

1 に答える 1

1

デフォルトの html パーサーの代わりにXml パーサーを試してください。

public static Parser xmlParser()

新しい XML パーサーを作成します。このパーサーは、着信タグを認識していないと想定し、それを HTML として処理せず、入力から直接単純なツリーを作成します。

戻り値:

    a new simple XML parser.

ソース: http://jsoup.org/apidocs/org/jsoup/parser/Parser.html#xmlParser%28%29

例:

Document doc = Jsoup.parse(html, "", Parser.xmlParser());
于 2013-06-14T15:34:27.757 に答える