我正在使用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> </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"> </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
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 Prix sélectionné(s)</td></tr>
</table>
<br>
</body>
</html>
google chrome的xpath示例: // * [@ id =“formulaire”] / table / tbody / tr [2] / td [2]
答案 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']);
}
值得注意的是,这使得您扫描表格的行并获取每行的内容变得更加清晰。您的原始代码需要阅读所有内容才能理解。