2013-10-14 6 views
1

при запуске кода ниже я получаю следующие ошибки:XML Преждевременный конец данных

Ошибка загрузки XML Преждевременный конец данных в тег запроса линии 2

Фатальная ошибка: Вызов функции члена asXml() на не-объект в /home4/viptrav3/public_html/wp-content/themes/voyage-child/transfer.php по линии 61

линия 61 является $requestFile->asXml('trequest.xml');

Но я не вижу, преждевременное закрытие XML. Я хочу сохранить это как XML файл trequest.xml

//Build XML Request 
       $requestData = '<?xml version="1.0" encoding="UTF-8" ?>' . "\n"; 
       $requestData .= '<Request>'; 

       // Create Request Header 
       $requestData .= '<Source>'; 

       // Add Requestor ID data 
       $requestData .= '<RequestorID Client="' . $clientID . '" EMailAddress="' . $email . '" Password="' . $password . '" />'; 

       // Add Requestor Preferences data 
       $requestData .= '<RequestorPreferences Language="' . $language . '" Currency="USD" Country="US" >'; 
       $requestData .= '<RequestMode>' . $requestMode . '</RequestMode>'; 
       $requestData .= '</RequestorPreferences>'; 
       $requestData .= '</Source>'; 

       // Create Request Body 
       $requestData .= '<RequestDetails> 
           <SearchTransferPriceRequest> 
           <TransferPickUp> 
           <PickUpCityCode>LON</PickUpCityCode> 
           <PickUpCode>A</PickUpCode> 
           <PickUpPointCode>LCY</PickUpPointCode> 
           </TransferPickUp> 
           <TransferDropOff> 
           <DropOffCityCode>EDI</DropOffCityCode> 
           <DropOffCode>H</DropOffCode> 
           </TransferDropOff> 
           <TransferDate> 
           2013-11-11</TransferDate> 
           <NumberOfPassengers>2</NumberOfPassengers> 
           <PreferredLanguage>E</PreferredLanguage> 
           </SearchTransferPriceRequest> 
           </RequestDetails>';      
//Save Request & Display XML errors 

       libxml_use_internal_errors(true); 
       $sxe = simplexml_load_string($requestData); 
       if ($sxe === false) { 
        echo "Failed loading XML\n"; 
        foreach(libxml_get_errors() as $error) { 
         echo "\t", $error->message; 
        } 
       } 


       $requestFile = simplexml_load_string($requestData); 
       $requestFile->asXml('trequest.xml'); 

ответ

2

Вы должны закрыть <Request> тег в конце.

Также не очень удобно создавать XML вручную. Вместо этого используйте класс DOMDocument.

Смежные вопросы