Я использую libxml2 для разбора HTML-документа, и у меня возник вопрос.В чем разница между
xmlXPathObjectPtr obj = xmlXPathEval((xmlChar*)"//div[@id='gall_list']//td//h3/img[@alt]", ctx);
printf("%d", obj->nodesetval->nodeNr);
и
xmlXPathObjectPtr obj1 = xmlXPathEval((xmlChar*)"//div[@id='gall_list']//td//h3", ctx);
xmlXPathObjectPtr obj2 = xmlXPathEval((xmlChar*)"img[@alt]", ctx);
printf("%d", obj2->nodesetval->nodeNr);
?Если я прав, они должны быть одинаковыми, верно?Но второй не работает правильно.Я изменил часть «img [@alt]» части obj2 на «./img[@alt]», но она тоже не сработала.второй?Просто к вашему сведению, следующий работал правильно:
xmlXPathObjectPtr obj1 = xmlXPathEval((xmlChar*)"//div[@id='gall_list']//td", ctx);
xmlXPathObjectPtr obj2 = xmlXPathEval((xmlChar*)".//h3/img[@alt]", ctx);
printf("%d", obj2->nodesetval->nodeNr);
Заранее большое спасибо!