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ć?

questionAnswers(2)

yourAnswerToTheQuestion