Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobieranie danych i wyswietlanie na stronie
Forum PHP.pl > Forum > XML, AJAX > XML
ripman
Ok, wszyscy huczą o XML jaki to on boski i te de. Skoro tak to trzeba się go wreszcie nauczyc (nawet zeby w portfolio zarzucic kilkoma fajnymi skrótami).

Pytanko :

Mam http://www.nbp.pl/Kursy/xml/a102z030527.xml i jak to pobrac i wstawic na strone we wlasnej grafice itp.

Pozdrawiam
Jabol
Cytat
grafice itp.
Grafice, hmmm... Nie wiem co masz na myśli mówiąc grafika, ale pobrać możesz za pomocą fsocketopen(); potem odczytac a potem zparsowac i wyciągnąć informacje (ciekwa, informacje ze strony bez wyr. reg...) za pomocą SAX lub DOM. Do wyciągania informacji dobrze służy SAX, który za pomocą funkcji callbackowych parsuje informacje, więc masz tym większą kontrole.
W manualu jest to dobrze opisane. Do tego typu zastoswań (przekazywanie informajci) idealnie służy SOAP (i ogólnie web services) więc o nim też warto by było zdobyć troche informacji.
ripman
mając na mysli grafike mowie o designie czyli tabelki itp.

aktualnie pobieram te informacje poprzez podłączenie sie przez fopen i wyciągniecie poprzez wyrazenia regularne interesujących danych.

przyklad : http://tarnow.net.pl/index.php?pokaz=waluty

ale skoro jest XML to musi być prostrzy i mniej awaryjny sposob :/
ripman
jednym slowem nikt nie ma gotowego rozwiązania w php ?

nooo świetny, świetny ten XML winksmiley.jpg

chodzi mi o to czy jest cos w stylu
[php:1:803bf0a120]
<?
funkcja_pobiera_dane("adres");

for(costam)
{
print("$wiersz[$i]")
}

?>
[/php:1:803bf0a120]
Seth
Po pierwsze ZNACZNIKI [php] !

Czy ten przycisk z czerwonym kolor tekstu jest nie widoczny ?!?!
Ehh szkoda gadac....


Tutaj: http://www.phpclasses.org/browse.html/class/4.html jest kilka klas do obslugi XMLa. Mozna za ich pomoca edytowac jak i tworzyc XMLa.
ripman
to nie jest konkretny kod php ... tylko mysle na glos

ale ok - moj blad smile.gif
maggot
Ja takie cos ostatnio dla kumpla napisalem (to moj pierwszy skrypt dot. xmla, wiec pewnie mozna to zrobic o wiele lepiej).
Po przerobkach powinien zrobic to co chcesz

[php:1:d54be39c5b]<?php
<?php
$filename = 'http://setiathome.ssl.berkeley.edu/fcgi-bin/fcgi?cmd=team_lookup_xml&name=Harper%20Colege';
$plik = join('',file($filename));

class member {
var $name='';
var $numresults='';
var $totalcpu='';
var $avecpu='';
var $datelastresult='';
var $country='';
}

$ludzie = array();
$element = '';

function startElement($parser, $name, $attrs) {
global $ludzie, $member, $element;

if ($name =='member') $member = new member;
$element = $name;
}
function endElement($parser, $name) {
global $ludzie, $member, $element;

if ($name =='member') $ludzie[] = $member;
unset($member);
$element = '';

}
function characterData($parser, $data) {

global $element, $member;

if ($element =='name') $member->name = $data;
if ($element =='url') $member->url = $data;
if ($element =='numresults') $member->numresults = $data;
if ($element =='totalcpu') $member->totalcpu = $data;
if ($element =='avecpu') $member->avecpu = $data;
if ($element =='datelastresult') $member->datelastresult = $data;
if ($element =='country') $member->country = $data;

}

$xml_parser = xml_parser_create();
// use case-folding so we are sure to find the tag in $map_array
xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, false);
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");

if (!xml_parse($xml_parser, $plik)) {
xml_error_string(xml_get_error_code($xml_parser));
xml_get_current_line_number($xml_parser);
}

xml_parser_free($xml_parser);


// tu wyswietlam tablice $ludzie

?>[/php:1:d54be39c5b]
ripman
dzieki laugh.gif wreszcie konkretna odpowiedz smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.