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 = …」とすると駄目でした。
自動的に型変換されると思ったのですが。
このあたりの挙動について、理解不足のようです。