Reputation: 1749
I've this HTML code ....
.....
.....
.....
<div class="bloccoOspedale">
<div id="nomeOspedale">
<div class="datiOspedale">Pazienti in corso di visita: 2 di cui in O.B.I.: 0</div>
<div class="datiOspedaleCodici">
<div class="codBianco">Codice bianco:0</div>
<div class="codVerde">Codice verde:1</div>
<div class="codGiallo">Codice giallo:1</div>
<div class="codRosso">Codice rosso:0</div>
</div>
<div class="datiOspedale">Pazienti in attesa di visita: 0</div>
</div>
<div class="bloccoOspedale">
<div id="nomeOspedale">
<div class="datiOspedale">Pazienti in corso di visita: 23 di cui in O.B.I.: 0</div>
<div class="datiOspedaleCodici">
<div class="codBianco">Codice bianco:1</div>
<div class="codVerde">Codice verde:9</div>
<div class="codGiallo">Codice giallo:11</div>
<div class="codRosso">Codice rosso:2</div>
</div>
<div class="datiOspedale">Pazienti in attesa di visita: 10</div>
</div>
<div class="bloccoOspedale">
<div id="nomeOspedale">
<div class="datiOspedale">Pazienti in corso di visita: 16 di cui in O.B.I.: 2</div>
<div class="datiOspedaleCodici">
<div class="codBianco">Codice bianco:0</div>
<div class="codVerde">Codice verde:9</div>
<div class="codGiallo">Codice giallo:7</div>
<div class="codRosso">Codice rosso:0</div>
</div>
<div class="datiOspedale">Pazienti in attesa di visita: 6</div>
</div>
.....
.....
.....
and I've to extract the string "Codice bianco:0" using XPath in PHP ... I've tried
//div[@class="datiOspedaleCodici"]/div[1]/text()
or
//div[@class="datiOspedaleCodici"]/div[@class="codBianco"]/text()
but nothing happens ....
What is the right XPath?
Thank you in advance ...
UPDATE
I've tried to use this PHP code sample ...
<?php
ini_set('display_errors', 1);
$url = 'http://www.asl1.liguria.it/templateProntoSoccorso.asp';
$ch = curl_init();
curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_PROXY, '');
$data = curl_exec($ch);
curl_close($ch);
$dom = new DOMDocument();
@$dom->loadHTML($data);
$xpath = new DOMXPath($dom);
$Number = $xpath->query('//div[@class="datiOspedaleCodici"]/div[@class="codBianco"]/text()');
foreach( $Number as $node )
{
echo "Number: " .$node->nodeValue;
echo '<br>';
echo '<br>';
}
?>
... to make clearer what I need ..... the code runs with no errors but nothing is printed ...
Upvotes: 0
Views: 1327
Reputation: 57131
Using the fragment of your XML, the following code...
$doc = new SimpleXMLElement ( $xml );
$text = $doc->xpath('//div[@class="datiOspedaleCodici"]/div[@class="codBianco"]/text()');
foreach ( $text as $t ) {
echo $t.PHP_EOL;
}
Does in fact echo...
Codice bianco:0
Codice bianco:1
Codice bianco:0
Upvotes: 1