Я только что подключился к веб-сервису с помощью SoapClient. Веб-служба возвращает информацию о транспортном средстве на основе конкретного ввода, VIN-кода транспортного средства. Моя переменная $result
установлена равной выходу веб-службы; таким образом, var_dump ($result);
сбрасывает всю информацию об автомобиле. У меня трудности с расшифровкой. Вот часть вывода, который я получил для Audi VIN:
object(stdClass)#2 (14) {
["responseStatus"]=> object(stdClass)#3 (2) {
["responseCode"]=> string(10) "Successful"
["description"]=> string(10) "Successful"
}
["vinDescription"]=> object(stdClass)#4 (11) {
["WorldManufacturerIdentifier"]=> string(17) "Germany Audi Nsu "
}
}
Как я могу переформатировать вывод? Я хочу вытащить струны из этого. Например, я хотел бы переформатировать пример вывода так, чтобы он выглядел так:
Ответ: Успешно
World Id производителя: Германия Audi Nsu
Вот мой PHP-код (я пропустил имя пользователя и пароль для веб-службы):
<?php
$client = new SoapClient('http://services.chromedata.com/Description/7b?wsdl');
$account = ['number'=>"", 'secret'=>"", 'country'=>"US", 'language'=>"en"];
$vin = $_POST["b12"];
$result = $client->describeVehicle([
'accountInfo' => $account,
'vin' => $vin
]);
var_dump ($result);
?>
___________________________________________________________________________
Обнаружен еще один блокпост. Кажется, чем дальше я копаюсь в данных, тем сложнее становится вызов данных для создания новых переменных. Я пытаюсь извлечь "Audi S4", "5 Door Wagon" и "All-Wheel Drive"
Вот раздел, с которым я борюсь:
["technicalSpecification"]=>
array(97) {
[0]=>
object(stdClass)#640 (2) {
["titleId"]=>
int(1)
["value"]=>
array(2) {
[0]=>
object(stdClass)#641 (3) {
["styleId"]=>
array(2) {
[0]=>
int(292015)
[1]=>
int(292016)
}
["value"]=>
string(7) "Audi S4"
["condition"]=>
string(3) "-PT"
}
[1]=>
object(stdClass)#642 (3) {
["styleId"]=>
array(2) {
[0]=>
int(292015)
[1]=>
int(292016)
}
["value"]=>
string(7) "Audi S4"
["condition"]=>
string(0) ""
}
}
}
[1]=>
object(stdClass)#643 (2) {
["titleId"]=>
int(2)
["value"]=>
object(stdClass)#644 (3) {
["styleId"]=>
array(2) {
[0]=>
int(292015)
[1]=>
int(292016)
}
["value"]=>
string(12) "5 Door Wagon"
["condition"]=>
string(0) ""
}
}
[2]=>
object(stdClass)#645 (2) {
["titleId"]=>
int(6)
["value"]=>
object(stdClass)#646 (3) {
["styleId"]=>
array(2) {
[0]=>
int(292015)
[1]=>
int(292016)
}
["value"]=>
string(15) "All-Wheel Drive"
["condition"]=>
string(0) ""
}
}
___________________________________________________________________________
добавив:
$resultxml = htmlentities($client->__getLastResponse()) . "\n";
echo $resultxml;
Я могу получить вывод в XML. Вот данные, из которых я пытаюсь получить переменные формы:
<technicalSpecification>
<titleId>1</titleId>
<value value="Audi S4" condition="-PT">
<styleId>292015</styleId>
<styleId>292016</styleId>
</value>
<value value="Audi S4" condition="">
<styleId>292015</styleId>
<styleId>292016</styleId>
</value>
</technicalSpecification>
<technicalSpecification>
<titleId>2</titleId>
<value value="5 Door Wagon" condition="">
<styleId>292015</styleId>
<styleId>292016</styleId>
</value>
</technicalSpecification>
<technicalSpecification>
<titleId>6</titleId>
<value value="All-Wheel Drive" condition="">
<styleId>292015</styleId>
<styleId>292016</styleId>
</value>
</technicalSpecification>