2010-10-15 5 views
0

J'utilise libxml2 dans mon projet c. Je me demandais comment je pouvais récupérer toutes les tables dans un fichier html en utilisant xpath. Un exemple de code fera l'affaire.Comment obtenir des tables HTML en utilisant xpath dans c?

J'ai besoin d'analyser les données dans la table html.

Merci

EDIT:

Ceci est une ligne de la table:

<tr class="report-data-row-even"> 
    <td class="NormalTxt report-data-cell report-data-column-even"> 
     <nobr>0.0285</nobr> 
    </td> 
    <td class="NormalTxt report-data-cell report-data-column-odd"> 
     <nobr>&#1508;&#1512;&#1496;&#1504;&#1512;</nobr> 
    </td> 
    <td class="NormalTxt report-data-cell report-data-column-even"> 
     <nobr>SMS</nobr> 
    </td> 
    <td class="NormalTxt report-data-cell report-data-column-odd"> 
     <nobr>1</nobr> 
    </td> 
    <td class="NormalTxt report-data-cell report-data-column-even"> 
     <nobr>054-2570130</nobr> 
    </td> 
    <td class="NormalTxt report-data-cell report-data-column-odd"> 
     <nobr>00:14:09</nobr> 
    </td> 
    <td class="NormalTxt report-data-cell report-data-column-even"> 
     <nobr>27/09/2010</nobr> 
    </td> 
    > 
</tr> 

Je dois être en mesure de tirer les données à l'intérieur des balises <nobr>.

+0

mec! une simple recherche google vous donnera toutes ces réponses! –

Répondre

1

XPath serait simle "// table"

+0

Cela a fait l'affaire. – embedded

+0

Comment puis-je itérer sur toutes les lignes des tables et imprimer la valeur? – embedded

+0

sur l'objet de table que vous demandez pour les nœuds descendants avec "// tr" –

1

Eh bien, j'ai besoin de plus d'informations. A quoi ressemble le HTML? Quel genre de données extrayez-vous? Aussi pourquoi C? Bien que la création de DOM soit rapide en C, les manipulations de chaînes nécessitent des efforts. Pourquoi pas Python? Quoi qu'il en soit, voici le xpath que vous pourriez essayer.

//table[@class='table_class']

Cela donne toutes les tables de votre page HTML ayant classname comme 'table_class'. Vous pouvez changer cela à la façon dont votre HTML est organisé.

0

Pour que vous devez utiliser la méthode de retour d'appel,

pour les personnages.

(void) caractères (Xmlchar *)

voir la documentation libxml

Questions connexes