[英]Solve simplexml_load_string() using simplexml_load_string
經過無數次嘗試仍然沒有成功,嘗試訪問這個'http://www.autobid.co.za/halfway/vehicledetails.php?wsdl,提供用戶名和密碼,然后收集Z0F635D0E0F3874FFFA7ZEC反饋。 這段代碼:
$client = new SoapClient('http://www.autobid.co.za/halfway/vehicledetails.php?wsdl');
$result = $client->getVehicleDetails('spwf87','hk8*9jd');
echo('<pre>'.$result.'</pre>');
轉儲整個文本字段,當然希望將其清理為頁面源狀態:
<pre><![CDATA[<VEHICLEDETAILS><VEHICLE><ID....
等,所以嘗試使用:
$client = new SoapClient('http://www.autobid.co.za/halfway/vehicledetails.php?wsdl');
$result = $client->getVehicleDetails('pass','user');
$content = simplexml_load_string($result, null,LIBXML_NOCDATA);
$content = simplexml_load_string($content->pre);
$json = json_encode($content);
$content = json_decode($json,TRUE);
var_dump($content);
但仍然得到錯誤
Warning: simplexml_load_string(): Entity: line 1: parser error : StartTag: invalid element name in index.php on line 24
Warning: simplexml_load_string(): <![CDATA[<VEHICLEDETAILS><VEHICLE><ID>5002386176</ID><VIN>AHTHA3CD503427515</VIN in index.php on line 24
Warning: simplexml_load_string(): ^ in index.php on line 24
Warning: simplexml_load_string(): Entity: line 1: parser error : Extra content at the end of the document in index.php on line 24
Warning: simplexml_load_string(): <![CDATA[<VEHICLEDETAILS><VEHICLE><ID>5002386176</ID><VIN>AHTHA3CD503427515</VIN in index.php on line 24
Warning: simplexml_load_string(): ^ in index.php on line 24
bool(false)
在我的智慧盡頭,必須提供來自源的所有數據。
xml 解析器被不正確的實體&
-> &
<?php
$client = new SoapClient('http://www.autobid.co.za/halfway/vehicledetails.php?wsdl');
$result = $client->getVehicleDetails('spwf87','hk8*9jd');
//print_r($result);
$content = substr($result, strlen('<![CDATA['), -3);
$content=preg_replace('/&(?!#?[a-z0-9]+;)/', '&', $content);
$content = simplexml_load_string($content, 'SimpleXMLElement',LIBXML_NOCDATA);
foreach ($content->VEHICLE as $vehicle_props) {
echo "\n\n ---------------------";
foreach ($vehicle_props as $prop_name => $prop_value) {
if ($prop_name == "EXTRAS") $prop_value=implode("\n - ", explode(",", $prop_value));
echo "\n" . ucwords(strtolower($prop_name)) .": " . $prop_value;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.