Nie można odczytać XML za pomocą PHP simplexml_load_file
Próbuję więc przeanalizować dane z adresu URL XML i wstawić go do tabeli za pomocą php, który można zobaczyćtutaj, (pamiętaj, że na tej stronie jest więcej produktów niż wyświetlanych, nie próbuję uzyskać tego produktu, poniższy kod pokazuje, jak analizuję wszystkie produkty), ale ciągle pojawiają się następujące błędy:
[EDITED]
class DataGrabber {
//The URL where data will be extracted from, which is an XML file
protected $URL = "http://json.zandparts.com/api/category/GetCategories/44/EUR/";
public function call_api($data) {
if(count($data) == 0) return array();
$jsondata = array();
foreach($data as $entry){
$url = $this->URL . $entry['model'] . "/" . urlencode($entry['family']) . "/" . urlencode($entry['cat']) . "/" . $entry['man'] . "/null";
$json = file_get_contents($url);
$data = json_decode($json, true);
if(!empty($data['Products'])){
foreach ($data['Products'] as $id => $product) {
$jsonentry = array(
'productnumber' => $id,
'partnumber' => $product['strPartNumber'],
'description' => $product['strDescription'],
'manu' => $product['Brand']
);
$jsondata[] = $jsonentry;
}
}
}
return $jsondata;
}
}
[NOWE BŁĘDY]
Naprawiłem więc błąd:
PHP Warning: file_get_contents(http://json.zandparts.com/api/category/GetCategories/44/EUR/ET10B/E Series/AC Adapter/Asus/null): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request
in /home/svn/dev.comp/Asus.php on line 82
używającurlencode
jak pokazano w moim kodzie powyżej
To ostrzeżenie poniżej nie znajduje wartości dla adresu URL:
PHP Warning: file_get_contents(http://json.zandparts.com/api/category/GetCategories/44/EUR///04G265003580/Asus/null): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
jak widać po,44/EUR
są trzy ukośniki bez danych? Jak to rozwiązać?