« 日本のソフトウェア産業がいつまでもダメな理由 | メイン | CSV Mailer バージョン0.5.0を公開しました »

C++Builder2009でMSHTMLを使ってHTMLを解析する

MSHTML COMコンポーネントという存在を知ったので、試しにC++Builder2009で使ってみました。
このCOMコンポーネントを使うと、HTMLの解析が簡単にできそうです。

Variant htmlfile = Variant::CreateObject("htmlfile");
WideString html = "<html><head><title>タイトル</title></head><body>ボディ</body></html>";
htmlfile.OleFunction("write", html);

UnicodeString title = htmlfile.OlePropertyGet("title"); //=>タイトル

Variant htmlElement = htmlfile.OlePropertyGet("body");
UnicodeString body = htmlElement.OlePropertyGet("innerHtml"); //=>ボディ

MSHTML COMコンポーネントは多機能なので、もっといろんなことができそうです。

MSHTMLとは関係のない話ですが、「WideString html = …」の部分を「UnicodeString html = …」とすると駄目でした。
自動的に型変換されると思ったのですが。
このあたりの挙動について、理解不足のようです。

トラックバック

このエントリーのトラックバックURL:
http://www.gesource.jp/mt/mt-tb.cgi/1037

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2009年08月08日 18:01に投稿されたエントリーのページです。

ひとつ前の投稿は「日本のソフトウェア産業がいつまでもダメな理由」です。

次の投稿は「CSV Mailer バージョン0.5.0を公開しました」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.35