libxml2 を使用して Web ページからデータを抽出する小さなプログラムを作成しようとしています。データは HTML ファイル内でローカルであるため、HTML をトラバース可能なメモリ構造に入れるための出発点として、次のコードを使用することにしました。
int main(int argc, char* argv[])
{
htmlDocPtr dp = htmlReadFile(argv[1], NULL, HTML_PARSE_RECOVER | HTML_PARSE_NONET );
ただし、HTML ファイルをパラメーターとして渡してこれを実行すると、エラーが発生します。
HTML parser error : htmlParseEntityRef: expecting ';'
不満のように見えるのは、次のとおりです。
<a href="do_something.html?a=1&b=2"> some stuff </a>
つまり、属性の内容を無視しhref
たり、パラメータ付きの URL として扱ったりするのではなく、ビット fromを&name;&b
のようなエンティティ参照として扱っているようです。セミコロンがないことを訴えます。きっとそうじゃない?これを無視するために別のことをする必要がありますか (いずれにせよ、これらのタグには興味がありません)、それともどういうわけかポイントを逃しただけですか?