XMLやHTMLを解析する方法


パジャマ  2007-07-04 15:08:36  No: 65576  IP: 192.*.*.*

ブログなどを巡回してリンク情報を集めるプログラムを作成しようと思っています。

できればDOMで解析を行いたいと思い、MSXML(msxml3.dll)を使用したところ、(当然といえばそうなのですが、)HTMLや不整合なXHTMLなどの解析ができませんでした。

確か、IEコンポーネントを使うと多少不整合があってもDOMで解析できたような記憶があるのですが、IEコンポーネントをしようせずに、HTMLや不整合なXHTMLをDOMで解析できるような方法はありますでしょうか。

ご助言、宜しくお願いいたします。
(環境:WindowsXP VC++2003)

編集 削除
RAPT  URL  2007-07-06 00:14:54  No: 65577  IP: 192.*.*.*

自前でパーサーを作る。

編集 削除
夏みかん  2007-07-06 01:52:02  No: 65578  IP: 192.*.*.*

HTML のタグを解析する簡単な関数を自前で作成しましょう。
中級者との事なので1〜2日あれば出来ると思います。
ただし、HTML のタグの知識や文字列の処理できることが前提ですが…。

DOM を使わなくても情報収集に特化した専用のライブラリを用意した方が
早いんじゃないの?と思うな。
あるはこれをきっかけに HTML を解析する強力なライブラリを開発するとか。
まぁ、いろいろ頑張って下さいね。

私は自前で HTML の解析用ライブラリを以前作ったので今では重宝しています。

編集 削除
YuO  2007-07-06 13:25:20  No: 65579  IP: 192.*.*.*

SGML的に正しくないHTMLや,XML的に正しくないXHTMLを許可する場合,
それを許すように自分で作るしかないです。

SGMLの短縮タグ機構とか,セクションとか,面倒なこともたくさん存在しますけど……。
# XHTMLでCDATAセクションは使われますしね……。

編集 削除
YuO  2007-07-06 13:26:38  No: 65580  IP: 192.*.*.*

追記)
> SGML的に正しくないHTMLや,XML的に正しくないXHTMLを許可する場合,
> それを許すように自分で作るしかないです。
IE等のそれらを許すパーサを使わない場合です。

編集 削除