どうにも詰まって進みようがなくなったので質問です

やりたいことはHTMLをparseしてタグ単位にnode化しtree状にばらして
rootから各nodeを辿れるようにしてelementを適当に参照したいわけです

XML.XMLParserに読ませるとまず通らないというか
HTML ≠ XML なので当然なのかも知れないですが
XMLMarshaler(これと連動しているXPath) , SIXX これらも見てみましたが
HTMLを読ませることはできないような気がします。

いい加減に書かれているHTMLをこれまた適当にparseしてくれるようなクラスはないんでしょうか。
自力で書くことも出来ないわけじゃないと思いますが、WebServiceのドキュメントを見る限りはHTMLを読めるようにも見えるので情報不足過ぎて困ってます。

これを使えとか何かヒントがあったらお願いします!