我正在尝试编写一个小程序来使用 libxml2 从网页中提取一些数据。由于数据在 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,它似乎将来自的位&b
视为像&name;这样的实体引用。并抱怨没有分号。这肯定不对吧?我应该做一些不同的事情来让它忽略这个(无论如何我对这些标签都不感兴趣)还是我只是以某种方式错过了重点?