我正在寻找一个易于使用的 html 解析器库。目前我正在尝试设置 libxml2,但遇到了令人沮丧的问题。我使用的 IDE 是 Pelles C,我为 libxml2 获取了 windows 文件并将它们放在适当的文件夹中(正确的标题区域中的标题、bin 中的二进制文件、库中的库等),但每当我尝试编译程序时仍然如此编译器只是告诉我我调用的每个 libxml2 函数都是未定义的。例如:
链接器标志:
-subsystem:console -machine:amd64 kernel32.lib advapi32.lib delayimp64.lib Ws2_32.lib libxml2.lib
代码:
static void print_element_names(xmlNode * a_node)
{
xmlNode *cur_node = NULL;
for(cur_node = a_node; cur_node; cur_node = cur_node->next)
{
if (cur_node->type == XML_ELEMENT_NODE)
{
printf("node type: Element, name: %s\n", cur_node->name);
}
print_element_names(cur_node->children);
}
}
int main(void)
{
xmlDoc *doc = NULL;
xmlNode *root_element = NULL;
LIBXML_TEST_VERSION
doc = xmlReadFile("XMLFILE"/*XML_FILE PUT HERE*/, NULL, 0);
if (doc != NULL) printf("error: could not parse file");
root_element = xmlDocGetRootElement(doc);
print_element_names(root_element);
xmlFreeDoc(doc);
xmlCleanupParser();
return 0;
}
尝试编译时只给我以下错误:
POLINK: error: Unresolved external symbol 'xmlCheckVersion'.
POLINK: error: Unresolved external symbol 'xmlReadFile'.
POLINK: error: Unresolved external symbol 'xmlDocGetRootElement'.
POLINK: error: Unresolved external symbol 'xmlFreeDoc'.
POLINK: error: Unresolved external symbol 'xmlCleanupParser'.
POLINK: fatal error: 5 unresolved external(s).
这整个情况让我发疯,如果有人可以帮助我解决这个问题或者建议一个更容易设置的 html 解析器,我将非常感激。