chciałbym się poradzić kogoś z doświadczeniem :-) w parserowaniu.
Napisałem coś takiego:
CODE
<?php
$kurscee = simplexml_load_file('http://www.gpw.pl/wyniki/a45_u__8c/n_INVGLDFIZ_full_data.html');
$altcee = $kurscee->kurs_odniesienia;
$cee = $kurscee->xpath('/*/kurs[last()]');
if (!isset ($cee)) {
echo $altcee;
}
else {
echo $cee->pion;
}
}
?>
$kurscee = simplexml_load_file('http://www.gpw.pl/wyniki/a45_u__8c/n_INVGLDFIZ_full_data.html');
$altcee = $kurscee->kurs_odniesienia;
$cee = $kurscee->xpath('/*/kurs[last()]');
if (!isset ($cee)) {
echo $altcee;
}
else {
echo $cee->pion;
}
}
?>
Niestety warunek nie działa prawidłowo, a jest on niezbędny gdyż nie zawsze w xml-u jest zawarta gałąź <kurs> i wtedy trzeba wyświetlić <kurs_odniesienia>.
XML wygląda tak:
CODE
<dane>
<papier>INVGLDFIZ</papier>
<data>2011-07-25</data>
<min>2920.00</min>
<max>2950.00</max>
<kurs_odniesienia>2910.00</kurs_odniesienia>
<start>09:00:00</start>
<stop>17:30:00</stop>
<kurs>
<pion>2930.00</pion>
<poziom>09:01:17</poziom>
<poziom_data>2011-07-25</poziom_data>
<wolumen>1</wolumen>
</kurs>
<kurs>
<pion>2930.00</pion>
<poziom>09:21:50</poziom>
<poziom_data>2011-07-25</poziom_data>
<wolumen>1</wolumen>
</kurs>
<kurs>
<pion>2930.00</pion>
<poziom>09:32:07</poziom>
<poziom_data>2011-07-25</poziom_data>
<wolumen>2</wolumen>
</kurs>
<kurs>
<pion>2925.00</pion>
<poziom>09:49:25</poziom>
<poziom_data>2011-07-25</poziom_data>
<wolumen>2</wolumen>
</kurs>
</dane>
<papier>INVGLDFIZ</papier>
<data>2011-07-25</data>
<min>2920.00</min>
<max>2950.00</max>
<kurs_odniesienia>2910.00</kurs_odniesienia>
<start>09:00:00</start>
<stop>17:30:00</stop>
<kurs>
<pion>2930.00</pion>
<poziom>09:01:17</poziom>
<poziom_data>2011-07-25</poziom_data>
<wolumen>1</wolumen>
</kurs>
<kurs>
<pion>2930.00</pion>
<poziom>09:21:50</poziom>
<poziom_data>2011-07-25</poziom_data>
<wolumen>1</wolumen>
</kurs>
<kurs>
<pion>2930.00</pion>
<poziom>09:32:07</poziom>
<poziom_data>2011-07-25</poziom_data>
<wolumen>2</wolumen>
</kurs>
<kurs>
<pion>2925.00</pion>
<poziom>09:49:25</poziom>
<poziom_data>2011-07-25</poziom_data>
<wolumen>2</wolumen>
</kurs>
</dane>
Czy ktoś zechciałby pomóc?
Strona która to obsługuje stoi na apache-u i jest to drupal.