Aide pour parser tableau avec DOmdocument

Rechercher

Aide pour parser tableau avec DOmdocument

Par nunoonline  -  0 reponse  -  Le 20/02/2011 14:26  -  Editer  - 

bonjour

pouvez vous me dire s'il est possible (avec DomDocument et php) de recuperer les données presentes uniquement dans les tableaux ayant pour class='tableauOK' sachant que:

- le nb de tableaux ayant pour class='tableauOK' peut varier

**- le nb de tableaux ayant pour class="SYSTEM" peut aussi varier **

ci dessous le code html à parser et le debut de code

mais je ne vois pas comment faire pour recuperer les données que des tableaux avec class='tableauOK'.

On m'a parle de DOMXPath mais je ne vois pas comment faire

merci pour votre aide

NR

<table id="tab" class="SYSTEM" cellpadding="0" cellspacing="0"><thead>  <tr><th>N</th><th>Name</th><th>Results</th></tr></thead><tbody><tr class="info"> <td class="num"><a href="/page/menu.html?id=98">1</a></td> <td><a href="/page/menu.html?id=78"><span>TEST1</span></a></td> <td><a href="/page/menu.html?id=7798">value=1</a></td></tr><tr class="info"> <td class="num"><a href="/page/menu.html?id=9">5</a></td> <td><a href="/page/menu.html?id=8"><span>TEST2</span></a></td> <td><a href="/page/menu.html?id=98">value=7</a></td></tr><tr class="info"> <td class="num"><a href="/page/menu.html?id=9">789</a></td> <td><a href="/page/menu.html?id=9"><span>TEST3</span></a></td> <td><a href="/page/menu.html?id=900">value=77</a></td></tr></tbody></table> <table class='tableauOK' border='0' cellpadding='0' cellspacing='0' id='TableOK'><thead><tr><th width='8px'>DATE</th><th width='400px'>VALUE</th><th>STATUS</th></tr><tr>    <td style='text-align:center'><strong>06/01/2011</strong></td>    <td><strong><a href='/TEST/page.html?id=71'>x=12</a></td>      <td><strong>ok</strong></td>  </tr><tr>    <td style='text-align:center'><strong>07/02/2011</strong></td>    <td><strong><a href='/TEST/page.html?id=22'>x=1230</a></td>      <td><strong>NO</strong></td>  </tr>  <tr>    <td style='text-align:center'><strong>01/02/2010</strong></td>    <td><strong><a href='/TEST/page.html?id=7'>x=11</a></td>      <td><strong>OK</strong></td>  </tr>   </table> <table class='tableauOK' border='0' cellpadding='0' cellspacing='0' id='TableOK'><thead><tr><th width='8px'>DATE</th><th width='400px'>VALUE</th><th>STATUS</th></tr><tr>    <td style='text-align:center'><strong>16/03/2009</strong></td>    <td><strong><a href='/TEST/page.html?id=761'>x=16</a></td>      <td><strong>ok</strong></td>  </tr><tr>    <td style='text-align:center'><strong>12/01/2011</strong></td>    <td><strong><a href='/TEST/page.html?id=220'>x=2</a></td>      <td><strong>NO</strong></td>  </tr>  <tr>    <td style='text-align:center'><strong>01/01/2011</strong></td>    <td><strong><a href='/TEST/page.html?id=8'>x=1100</a></td>      <td><strong>NO</strong></td>  </tr>   </table>  <table class='tableauOK' border='0' cellpadding='0' cellspacing='0' id='TableOK'><thead><tr><th width='8px'>DATE</th><th width='400px'>VALUE</th><th>STATUS</th></tr><tr>    <td style='text-align:center'><strong>16/02/2011</strong></td>    <td><strong><a href='/TEST/page.html?id=761'>x=15</a></td>      <td><strong>ok</strong></td>  </tr><tr>    <td style='text-align:center'><strong>12/02/2011</strong></td>    <td><strong><a href='/TEST/page.html?id=220'>x=1000</a></td>      <td><strong>NO</strong></td>  </tr>  <tr>    <td style='text-align:center'><strong>01/02/2011</strong></td>    <td><strong><a href='/TEST/page.html?id=7'>x=1100</a></td>      <td><strong>OK</strong></td>  </tr>   </table>

 

<?php /*** a new dom object ***/ $dom = new domDocument;  /*** load the html into the object ***/ //$dom->loadHTML($html); @$dom->loadHTMLFile($html);  /*** discard white space ***/ $dom->preserveWhiteSpace = false;   /*** the table by its tag name ***/ $tables = $dom->getElementsByTagName('table');  /*** get all rows from the table ***/ $rows = $tables->item(0)->getElementsByTagName('tr');  /*** loop over the table rows ***/ foreach ($rows as $row) {    /*** get each column by tag name ***/    $cols = $row->getElementsByTagName('td');    /*** echo the values ***/    echo $cols->item(0)->nodeValue.'<br />';    echo $cols->item(1)->nodeValue.'<br />';    echo $cols->item(2)->nodeValue;    echo '<hr />'; } ?>
 

Réponses apportées à cette discussion

Aucune réponse apportée actuellement

Ajouter une réponse à la discussion

Seuls les membres connectés sont autorisés à poster dans les forums !

Identifiez-vous
Join |  ID/MDP? |