arcanum_jp’s blog

おっさんの日記

Jericho Html Parser

 Jerichoを使ってみて、ちょっとした整形だったらコレで一発でできるので簡単。こんな感じでOK。

    Source src = new Source("HTMLの文字列");
    SourceFormatter sf = src.getSourceFormatter();
    System.out.println(sf);

 SourceFormatterクラスが表現をつかさどっているみたい。だけど、よくよく調べてみるとこのSourceFormatterはSourceからしか取れない。内容のタグ自体はElementクラスが対応しているけど、コレ単位にSourceFormatterが適用できるわけではなくちょっと不便。つまり、SoruceFormatterがHTML全体のフォーマッタとなっている。

 なんでこんな事を書くかというと、SourceFormatter#setIndentAllElement()を設定したいけど、全部が全部インラインレベルでインデントして欲しいかというとそうではないと思う。なのでちょっと使いづらい。ここはパースしたあと自力で何とかする必要があるなぁ。