Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Parsowanie xml bład kodowania
Forum PHP.pl > Forum > PHP
janiek_j
Witam
mam taki problem

mam skrypt php ktory generuje mi xml'a
1 wykonuje skrypt i zapisuje wyniki do pliku xml w celu dalszego przetwarzania
2 ładuje plik xml w celu parsowania

pojawia sie problem kodowania

w naglowku skryptu php do generowania xml mam
CODE
header('Content-type: application/xml; charset="utf-8"');


echo '<?xml version="1.0" encoding="UTF-8"?>';



kod skryptu ktory zapisuje wyniki zwrocone przez skrypt do generowania xml, i do parsowania
CODE

class curl {
var $timeout;
var $url;
var $file_contents;
function getFile($url,$timeout=0) {


$ch = curl_init();
$this->url = $url;
$this->timeout = $timeout;
curl_setopt ($ch, CURLOPT_URL, $this->url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $this->timeout);
$this->file_contents = curl_exec($ch);
if ( curl_getinfo($ch,CURLINFO_HTTP_CODE) !== 200 ) {
return('Bad Data File '.$this->url);
} else {
return $this->file_contents;
}
}
}

// tworzymy nowy zasob curl
$ch = curl_init();

// ustawiamy opcje URL i naglowka
curl_setopt($ch, CURLOPT_URL, "gener.xml.php?page=0");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);


$dane = curl_exec($ch);

// przypisanie zmniennej $file nazwy pliku
$file = "plik.xml";

// uchwyt pliku, otwarcie do dopisania
$fp = fopen($file, "w");

// blokada pliku do zapisu
flock($fp, 2);

// zapisanie danych do pliku
fwrite($fp, $dane);

// odblokowanie pliku
flock($fp, 3);

// zamknięcie pliku
fclose($fp);

// usuwamy zasob curl i zwalniamy zasoby systemu
curl_close($ch);




if (file_exists($file))
{

$xml = simplexml_load_file($file);

$result = $xml->xpath("/rodzina/moja/dzieci[0]");

foreach ($result as $key => $value)
{
echo $value->nazwa . '
';
}
}
else
{
exit('Nie mozna otworzyc pliku.');
}

?>


dostaje błąd
parser error : Input is not proper UTF-8, indicate encoding
extreme-dh
Po co wstawiłeś tą klasę curl skoro jej nie używasz w tym przykładzie.

Być może plik gener.xml.php?page=0 nie generuje zawartości w UTF-8, sprawdź to i jesli to nie jest UTF użyj iconv do przekonwertowania kodowania
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.