PHP $ xpath-> evaluate不返回值

时间:2017-07-14 10:13:23

标签: php xpath

我正在使用DOMXPath并且遇到很大问题。我不知道为什么,但这不需要我需要的必填字段。我用谷歌浏览器复制xpath但不幸的是它不起作用。也许有人可以帮助我吗?

PHP代码:

<?
    $ch = curl_init("http://127.0.0.1/file.html");
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch, CURLOPT_ENCODING, 'UTF-8');
    $response = curl_exec($ch);

    $response = mb_convert_encoding($response, 'HTML-ENTITIES', "UTF-8");
    $thispage = new DOMDocument;
    libxml_use_internal_errors(true);
    $thispage->loadHTML($response);
    libxml_clear_errors();

    $xpath = new DOMXPath($thispage);

    $k = 2;
        while ($xpath->evaluate('string(//*[@id="formulaire"]/table/tbody/tr[' . $k . ']/td[2])')) {
            $degalines_kainos[$k][stotis] = $xpath->evaluate('string(//*[@id="formulaire"]/table/tbody/tr[' . $k . ']/td[2])');
            $degalines_kainos[$k][kaina_be_pvm] = $xpath->evaluate('string(//*[@id="formulaire"]/table/tbody/tr[' . $k . ']/td[7])');
            $degalines_kainos[$k][kaina_su_pvm] = $xpath->evaluate('string(//*[@id="formulaire"]/table/tbody/tr[' . $k . ']/td[8])');
            $k++;
        }

    for ($i=2; $i<$k; $i++) {
        echo "<b>Degalinė: </b>". $degalines_kainos[$i][stotis].", <b>kaina be PVM: </b> ".$degalines_kainos[$i][kaina_be_pvm].", <b>kaina su PVM: </b> ".$degalines_kainos[$i][kaina_su_pvm]."<br>";

    }
    ?>

HTML文件:

<!DOCTYPE html>

<html>
                <div id="formulaire">
                <form name="listePrixParStation" action="/website/v2/jsp/prix/prixParStation.jsp" method="post">
                    <table width="700" border="0" cellspacing="0" cellpadding="0">
                    <tr>
                    <td>&nbsp;</td>
                    <td>
                    <table width="100%" border="0" cellspacing="0" cellpadding="0">
                    <tr>
                        <td colspan="2">
                            <h1>Prix par station:</h1>
                        </td>
                    </tr>
                    <tr>
                    <td>Pays:</td>
                    <td>

                        <select name="pays">
                            <option value="XXX">Tous</option>

                                <option value="DEU">ALLEMAGNE</option>

                                <option value="AUT">AUTRICHE</option>

                                <option value="BEL">BELGIQUE</option>

                                <option value="BLR">BIELORUSSIE</option>

                                <option value="BGR">BULGARIE</option>

                                <option value="HRV">CROATIE</option>

                                <option value="DNK">DANEMARK</option>

                                <option value="ESP">ESPAGNE</option>

                                <option value="FRA">FRANCE</option>

                                <option value="GEO">GEORGIE</option>

                                <option value="HUN">HONGRIE</option>

                                <option value="IRL">IRLANDE</option>

                                <option value="ITA">ITALIE</option>

                                <option value="LTU">LITHUANIE</option>

                                <option value="LUX">LUXEMBOURG</option>

                                <option value="MKD">MACEDOINE</option>

                                <option value="NLD">PAYS-BAS</option>

                                <option value="POL">POLOGNE</option>

                                <option value="PRT">PORTUGAL</option>

                                <option value="CZE">REP. TCHEQUE</option>

                                <option value="ROM">ROUMANIE</option>

                                <option value="GBR">ROYAUME UNI</option>

                                <option value="RUS">RUSSIE</option>

                                <option value="SRB">SERBIE</option>

                                <option value="SVQ">SLOVAQUIE</option>

                                <option value="SVN">SLOVENIE</option>

                                <option value="SWE">SUEDE</option>

                                <option value="UKR">UKRAINE</option>

                        </select>
                    </td>
                    <td>Produit:</td>
                    <td>

                        <select name="produit">

                                <option value="BGR03">Gazole</option>

                                <option value="BGR10">AD Blue</option>

                                <option value="DNK03">Gazole</option>

                                <option value="DNK10">AD Blue</option>

                                <option value="GEO03">Gazole</option>

                                <option value="GEOB6">Eurodiesel</option>

                                <option value="HRV03">Gazole</option>

                                <option value="HRV10">AD Blue</option>

                                <option value="MKD03">Gazole</option>

                                <option value="ROM03">Gazole</option>

                                <option value="ROM10">AD Blue</option>

                                <option value="SRB03">Gazole</option>

                                <option value="SRB10">AD Blue</option>

                                <option value="SVQ03">Gazole</option>

                                <option value="SVQ10">AD Blue</option>

                                <option value="SWE03">Gazole</option>

                                <option value="SWE06">Biodiesel</option>

                                <option value="SWE95">HVO Diesel</option>

                                <option value="SWE10">AD Blue</option>

                                <option value="FRA03">Gazole</option>

                                <option value="FRA01">GNR</option>

                                <option value="FRA10">AD Blue</option>

                                <option value="FRAGC">GNC</option>

                                <option value="FRA13">Super sans plomb</option>

                                <option value="XXX95">HVO Diesel</option>

                                <option value="XXXGC">GNC</option>

                                <option value="XXX13">Super sans plomb</option>

                                <option value="XXX10">AD Blue</option>

                                <option value="XXX06">Biodiesel</option>

                                <option value="XXX04">Fioul</option>

                                <option value="XXX03">Gazole</option>

                                <option value="XXX01">GNR</option>

                                <option value="ESP03">Gazole</option>

                                <option value="ESP10">AD Blue</option>

                                <option value="DEU03">Gazole</option>

                                <option value="DEU95">HVO Diesel</option>

                                <option value="DEU06">Biodiesel</option>

                                <option value="DEU10">AD Blue</option>

                                <option value="BEL03">Gazole</option>

                                <option value="BEL04">Fioul</option>

                                <option value="BEL01">GNR</option>

                                <option value="BEL09">GPL</option>

                                <option value="BEL10">AD Blue</option>

                                <option value="BEL13">Super sans plomb</option>

                                <option value="UKR03">Gazole</option>

                                <option value="NLD03">Gazole</option>

                                <option value="NLD06">Biodiesel</option>

                                <option value="NLD10">AD Blue</option>

                                <option value="NLD13">Super sans plomb</option>

                                <option value="LUX03">Gazole</option>

                                <option value="LUX04">Fioul</option>

                                <option value="LUX10">AD Blue</option>

                                <option value="LUX13">Super sans plomb</option>

                                <option value="CZE03">Gazole</option>

                                <option value="CZE10">AD Blue</option>

                                <option value="AUT03">Gazole</option>

                                <option value="AUT94">BioMix 30/70</option>

                                <option value="AUT88">BioMix 70/30</option>

                                <option value="AUT06">Biodiesel</option>

                                <option value="AUT89">BioMix 50/50</option>

                                <option value="AUT10">AD Blue</option>

                                <option value="AUT02">Super</option>

                                <option value="POL03">Gazole</option>

                                <option value="POL10">AD Blue</option>

                                <option value="HUN03">Gazole</option>

                                <option value="HUN10">AD Blue</option>

                                <option value="ITA03">Gazole</option>

                                <option value="ITA10">AD Blue</option>

                                <option value="GBR03">Gazole</option>

                                <option value="GBR04">Fioul</option>

                                <option value="GBR13">Super sans plomb</option>

                                <option value="GBR10">AD Blue</option>

                                <option value="PRT03">Gazole</option>

                                <option value="PRT10">AD Blue</option>

                                <option value="IRL03">Gazole</option>

                                <option value="IRL04">Fioul</option>

                                <option value="IRL10">AD Blue</option>

                                <option value="IRL13">Super sans plomb</option>

                                <option value="RUS03">Gazole</option>

                                <option value="BLR03">Gazole</option>

                                <option value="LTU03">Gazole</option>

                                <option value="LTU10">AD Blue</option>

                                <option value="SVN03">Gazole</option>

                                <option value="SVN06">Biodiesel</option>

                                <option value="SVN10">AD Blue</option>

                        </select>
                    </td>
                    </tr>
                    <tr>
                    <td style="padding-top:5px">Date application:</td>
                    <td style="padding-top:5px"><input name="date" class="inDate" onclick="ds_sh(this,'');" readonly="readonly" style="cursor: text;margin-bottom:5px;" onChange="DC.IsValidDate('date');" value="12/07/2017"></td>
                    <script language="JavaScript">
                                var DC = null;
                                // On instancie un DateControl
                                DC = new DateControl();
                                DC.Add("date", document.listePrixParStation.date);
                                DC.SetDateFormat("date", "jj/mm/aaaa");
                                // On change un message d'erreur
                                DC.SetErrMsg("date", "Le format de la date de bareme n'est pas valide (dd/MM/YYYY)");
                                </script>
                    </td>
                    <td colspan="2">&nbsp;</td>
                    </tr>
                    <tr>
                    <td colspan="4"  style="text-align:center">
                        <div class="btn btn-primary" onclick="valideForm()">
                            Rechercher
                        </div>
                    </td>
                    </tr>
                    </table>
                    </form>
                </div>
                <br>


                <div id="formulaire">
                    <table width="700">
                        <tr>
                            <td class="td_intitule_liste" nowrap>Pays</td>
                            <td class="td_intitule_liste" nowrap>Station</td>
                            <td class="td_intitule_liste" nowrap>Numéro station</td>
                            <td class="td_intitule_liste" nowrap>Zone de Prix</td>
                            <td class="td_intitule_liste" nowrap>Date application</td>
                            <td class="td_intitule_liste" nowrap>Devise</td>
                            <td class="td_intitule_liste" nowrap>HT</td>
                            <td class="td_intitule_liste" nowrap>TTC</td>
                        </tr>

                            <tr>
                                <td class="td_saisie">AUT</td>
                                <td class="td_saisie">ALLAND</td>
                                <td class="td_saisie">6831</td>
                                <td class="td_saisie">A</td>
                                <td class="td_saisie">11 juil. 2017</td>
                                <td class="td_saisie">EUR</td>
                                <!-- Start FLG XNET-1579 : Affichage devise + unite avec le prix -->
                                <td class="td_saisie">0.93€/l</td>
                                <td class="td_saisie">1.116€/l</td>
                                <!-- End FLG XNET-1579 -->
                            </tr>


                            <tr>
                                <td class="td_saisie">AUT</td>
                                <td class="td_saisie">AMSTETTEN</td>
                                <td class="td_saisie">6863</td>
                                <td class="td_saisie">A</td>
                                <td class="td_saisie">11 juil. 2017</td>
                                <td class="td_saisie">EUR</td>
                                <!-- Start FLG XNET-1579 : Affichage devise + unite avec le prix -->
                                <td class="td_saisie">0.93€/l</td>
                                <td class="td_saisie">1.116€/l</td>
                                <!-- End FLG XNET-1579 -->
                            </tr>


                            <tr>
                                <td class="td_saisie">AUT</td>
                                <td class="td_saisie">ANTHERING</td>
                                <td class="td_saisie">6843</td>
                                <td class="td_saisie">B</td>
                                <td class="td_saisie">11 juil. 2017</td>
                                <td class="td_saisie">EUR</td>
                                <!-- Start FLG XNET-1579 : Affichage devise + unite avec le prix -->
                                <td class="td_saisie">0.9592€/l</td>
                                <td class="td_saisie">1.151€/l</td>
                                <!-- End FLG XNET-1579 -->
                            </tr>


                            <tr>
                                <td class="td_saisie">AUT</td>
                                <td class="td_saisie">ARNOLDSTEIN EURONOVA</td>
                                <td class="td_saisie">6832</td>
                                <td class="td_saisie">A</td>
                                <td class="td_saisie">11 juil. 2017</td>
                                <td class="td_saisie">EUR</td>
                                <!-- Start FLG XNET-1579 : Affichage devise + unite avec le prix -->
                                <td class="td_saisie">0.93€/l</td>
                                <td class="td_saisie">1.116€/l</td>
                                <!-- End FLG XNET-1579 -->
                            </tr>


                            <tr>
                                <td class="td_saisie">AUT</td>
                                <td class="td_saisie">ARNOLDSTEIN THORL MAGLERN</td>
                                <td class="td_saisie">6823</td>
                                <td class="td_saisie">C</td>
                                <td class="td_saisie">11 juil. 2017</td>
                                <td class="td_saisie">EUR</td>
                                <!-- Start FLG XNET-1579 : Affichage devise + unite avec le prix -->
                                <td class="td_saisie">0.9708€/l</td>
                                <td class="td_saisie">1.165€/l</td>
                                <!-- End FLG XNET-1579 -->
                            </tr>


                            <tr>
                                <td class="td_saisie">AUT</td>
                                <td class="td_saisie">AUTOHOF KUFSTEIN</td>
                                <td class="td_saisie">6862</td>
                                <td class="td_saisie">A</td>
                                <td class="td_saisie">11 juil. 2017</td>
                                <td class="td_saisie">EUR</td>
                                <!-- Start FLG XNET-1579 : Affichage devise + unite avec le prix -->
                                <td class="td_saisie">0.93€/l</td>
                                <td class="td_saisie">1.116€/l</td>
                                <!-- End FLG XNET-1579 -->
                            </tr>


                            <tr>
                                <td class="td_saisie">AUT</td>
                                <td class="td_saisie">BRIXLEGG</td>
                                <td class="td_saisie">6853</td>
                                <td class="td_saisie">A</td>
                                <td class="td_saisie">11 juil. 2017</td>
                                <td class="td_saisie">EUR</td>
                                <!-- Start FLG XNET-1579 : Affichage devise + unite avec le prix -->
                                <td class="td_saisie">0.93€/l</td>
                                <td class="td_saisie">1.116€/l</td>
                                <!-- End FLG XNET-1579 -->
                            </tr>


                            <tr>
                                <td class="td_saisie">AUT</td>
                                <td class="td_saisie">BUERS</td>
                                <td class="td_saisie">6833</td>
                                <td class="td_saisie">C</td>
                                <td class="td_saisie">11 juil. 2017</td>
                                <td class="td_saisie">EUR</td>
                                <!-- Start FLG XNET-1579 : Affichage devise + unite avec le prix -->
                                <td class="td_saisie">0.9708€/l</td>
                                <td class="td_saisie">1.165€/l</td>
                                <!-- End FLG XNET-1579 -->
                            </tr>


                            <tr>
                                <td class="td_saisie">AUT</td>
                                <td class="td_saisie">FLACHAU</td>
                                <td class="td_saisie">6859</td>
                                <td class="td_saisie">B</td>
                                <td class="td_saisie">11 juil. 2017</td>
                                <td class="td_saisie">EUR</td>
                                <!-- Start FLG XNET-1579 : Affichage devise + unite avec le prix -->
                                <td class="td_saisie">0.9592€/l</td>
                                <td class="td_saisie">1.151€/l</td>
                                <!-- End FLG XNET-1579 -->
                            </tr>


                            <tr>
                                <td class="td_saisie">AUT</td>
                                <td class="td_saisie">GMUEND</td>
                                <td class="td_saisie">6824</td>
                                <td class="td_saisie">C</td>
                                <td class="td_saisie">11 juil. 2017</td>
                                <td class="td_saisie">EUR</td>
                                <!-- Start FLG XNET-1579 : Affichage devise + unite avec le prix -->
                                <td class="td_saisie">0.9708€/l</td>
                                <td class="td_saisie">1.165€/l</td>
                                <!-- End FLG XNET-1579 -->
                            </tr>


                            <tr>
                                <td class="td_saisie">AUT</td>
                                <td class="td_saisie">GRAZ AIRPORT</td>
                                <td class="td_saisie">6864</td>
                                <td class="td_saisie">A</td>
                                <td class="td_saisie">11 juil. 2017</td>
                                <td class="td_saisie">EUR</td>
                                <!-- Start FLG XNET-1579 : Affichage devise + unite avec le prix -->
                                <td class="td_saisie">0.93€/l</td>
                                <td class="td_saisie">1.116€/l</td>
                                <!-- End FLG XNET-1579 -->
                            </tr>


                            <tr>
                                <td class="td_saisie">AUT</td>
                                <td class="td_saisie">HAUS IM ENNSTAL</td>
                                <td class="td_saisie">6858</td>
                                <td class="td_saisie">B</td>
                                <td class="td_saisie">11 juil. 2017</td>
                                <td class="td_saisie">EUR</td>
                                <!-- Start FLG XNET-1579 : Affichage devise + unite avec le prix -->
                                <td class="td_saisie">0.9592€/l</td>
                                <td class="td_saisie">1.151€/l</td>
                                <!-- End FLG XNET-1579 -->
                            </tr>


                            <tr>
                                <td class="td_saisie">AUT</td>
                                <td class="td_saisie">HIMBERG</td>
                                <td class="td_saisie">6869</td>
                                <td class="td_saisie">B</td>
                                <td class="td_saisie">11 juil. 2017</td>
                                <td class="td_saisie">EUR</td>
                                <!-- Start FLG XNET-1579 : Affichage devise + unite avec le prix -->
                                <td class="td_saisie">0.9592€/l</td>
                                <td class="td_saisie">1.151€/l</td>
                                <!-- End FLG XNET-1579 -->
                            </tr>


                            <tr>
                                <td class="td_saisie">AUT</td>
                                <td class="td_saisie">HOERBRANZ 1</td>
                                <td class="td_saisie">6834</td>
                                <td class="td_saisie">C</td>
                                <td class="td_saisie">11 juil. 2017</td>
                                <td class="td_saisie">EUR</td>
                                <!-- Start FLG XNET-1579 : Affichage devise + unite avec le prix -->
                                <td class="td_saisie">0.9708€/l</td>
                                <td class="td_saisie">1.165€/l</td>
                                <!-- End FLG XNET-1579 -->
                            </tr>


                            <tr>
                                <td class="td_saisie">AUT</td>
                                <td class="td_saisie">HOERBRANZ 2</td>
                                <td class="td_saisie">6840</td>
                                <td class="td_saisie">C</td>
                                <td class="td_saisie">11 juil. 2017</td>
                                <td class="td_saisie">EUR</td>
                                <!-- Start FLG XNET-1579 : Affichage devise + unite avec le prix -->
                                <td class="td_saisie">0.9708€/l</td>
                                <td class="td_saisie">1.165€/l</td>
                                <!-- End FLG XNET-1579 -->
                            </tr>


                        <tr><td class="paragraphe" colspan="9">
                                Page&nbsp;


                                    1



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=2&pays=XXX&produit=XXX03&date=12/07/2017">2</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=3&pays=XXX&produit=XXX03&date=12/07/2017">3</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=4&pays=XXX&produit=XXX03&date=12/07/2017">4</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=5&pays=XXX&produit=XXX03&date=12/07/2017">5</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=6&pays=XXX&produit=XXX03&date=12/07/2017">6</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=7&pays=XXX&produit=XXX03&date=12/07/2017">7</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=8&pays=XXX&produit=XXX03&date=12/07/2017">8</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=9&pays=XXX&produit=XXX03&date=12/07/2017">9</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=10&pays=XXX&produit=XXX03&date=12/07/2017">10</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=11&pays=XXX&produit=XXX03&date=12/07/2017">11</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=12&pays=XXX&produit=XXX03&date=12/07/2017">12</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=13&pays=XXX&produit=XXX03&date=12/07/2017">13</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=14&pays=XXX&produit=XXX03&date=12/07/2017">14</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=15&pays=XXX&produit=XXX03&date=12/07/2017">15</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=16&pays=XXX&produit=XXX03&date=12/07/2017">16</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=17&pays=XXX&produit=XXX03&date=12/07/2017">17</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=18&pays=XXX&produit=XXX03&date=12/07/2017">18</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=19&pays=XXX&produit=XXX03&date=12/07/2017">19</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=20&pays=XXX&produit=XXX03&date=12/07/2017">20</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=21&pays=XXX&produit=XXX03&date=12/07/2017">21</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=22&pays=XXX&produit=XXX03&date=12/07/2017">22</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=23&pays=XXX&produit=XXX03&date=12/07/2017">23</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=24&pays=XXX&produit=XXX03&date=12/07/2017">24</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=25&pays=XXX&produit=XXX03&date=12/07/2017">25</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=26&pays=XXX&produit=XXX03&date=12/07/2017">26</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=27&pays=XXX&produit=XXX03&date=12/07/2017">27</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=28&pays=XXX&produit=XXX03&date=12/07/2017">28</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=29&pays=XXX&produit=XXX03&date=12/07/2017">29</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=30&pays=XXX&produit=XXX03&date=12/07/2017">30</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=31&pays=XXX&produit=XXX03&date=12/07/2017">31</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=32&pays=XXX&produit=XXX03&date=12/07/2017">32</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=33&pays=XXX&produit=XXX03&date=12/07/2017">33</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=34&pays=XXX&produit=XXX03&date=12/07/2017">34</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=35&pays=XXX&produit=XXX03&date=12/07/2017">35</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=36&pays=XXX&produit=XXX03&date=12/07/2017">36</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=37&pays=XXX&produit=XXX03&date=12/07/2017">37</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=38&pays=XXX&produit=XXX03&date=12/07/2017">38</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=39&pays=XXX&produit=XXX03&date=12/07/2017">39</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=40&pays=XXX&produit=XXX03&date=12/07/2017">40</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=41&pays=XXX&produit=XXX03&date=12/07/2017">41</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=42&pays=XXX&produit=XXX03&date=12/07/2017">42</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=43&pays=XXX&produit=XXX03&date=12/07/2017">43</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=44&pays=XXX&produit=XXX03&date=12/07/2017">44</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=45&pays=XXX&produit=XXX03&date=12/07/2017">45</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=46&pays=XXX&produit=XXX03&date=12/07/2017">46</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=47&pays=XXX&produit=XXX03&date=12/07/2017">47</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=48&pays=XXX&produit=XXX03&date=12/07/2017">48</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=49&pays=XXX&produit=XXX03&date=12/07/2017">49</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=50&pays=XXX&produit=XXX03&date=12/07/2017">50</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=51&pays=XXX&produit=XXX03&date=12/07/2017">51</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=52&pays=XXX&produit=XXX03&date=12/07/2017">52</A>



                                    <A HREF="/website/v2/jsp/prix/prixParStation.jsp?numPage=53&pays=XXX&produit=XXX03&date=12/07/2017">53</A>


                                </td>
                        </tr>
                    <tr><td colspan="9">781&nbsp;Prix sélectionné(s)</td></tr>
                    </table>

                <br>


</body>
</html>

google chrome的xpath示例: // * [@ id =“formulaire”] / table / tbody / tr [2] / td [2]

1 个答案:

答案 0 :(得分:0)

提供的HTML不包含<tbody>标记。 Chrome(和其他浏览器)会自动插入它。你的XPath不应该包含它。

但我建议使用更易阅读的版本:

// ...
$xpath = new DOMXPath($thispage);

$degalines_kainos = [];
$rows = $xpath->query("//*[@id='formulaire']/table/tr");
foreach($rows as $i=>$row) {
    if( $i == 0) continue; // header row
    $cells = $xpath->query("./td",$row);
    $degalines_kainos[] = [
        'stotis' => $cells->item(1)->textContent,
        'kaina_be_pvm' => $cells->item(6)->textContent,
        'kaina_su_pvm' => $cells->item(7)->textContent
    ];
}

foreach($degalines_kainos as $item) {
    printf("<b>Degalinè:</b> %s, <b>kaina be PVM:</b> %s, <b>kaina su PVM:</b> %s<br />",
        $item['stotis'], $item['kaina_be_pvm'], $item['kaina_su_pvm']);
}

值得注意的是,这使得您扫描表格的行并获取每行的内容变得更加清晰。您的原始代码需要阅读所有内容才能理解。