J'essaie de récupérer du contenu à partir d'une page HTML. J'utilise libxml2 et htmlReadMemory pour obtenir un xmlDocPtr. Le HTML est simple, mais il a un problème. Il est fondamentalement le suivant:libXML analyse HTML détendue
<tr><td><tr><td>Some content</td></tr></td></tr>
libxml n'aime pas les tr, tds imbriqués. Il continue à me donner l'erreur suivante:
HTML parser error : Unexpected end tag : td
</TD>
^
HTML parser error : Unexpected end tag : tr
</TR>
J'utilise l'option suivante: HTML_PARSE_RECOVER.
À ce stade, rien de ce que je fais ne permet à libxml d'analyser le code HTML à cause de cela. Je ne peux pas changer le HTML parce que je n'y ai pas accès. Tout le monde a des indices sur la façon dont je peux obtenir libxml pour analyser ce type de code HTML?
Merci
-je faire ceci: thedoc = htmlReadMemory ([InData octets], [longueur InData], NULL, enc, HTML_PARSE_RECOVER | HTML_PARSE_NOWARNING | HTML_PARSE_NOBLANKS); –
L'utilisation de HTML_PARSE_NOERROR analyse-t-elle toujours le document même s'il y a des erreurs dans le code HTML? –
En fait, j'ai mis en HTML_PARSE_NOERROR et maintenant ça marche. Merci pour ça! –