Этот код вытаскивает имя варианта доставки с сервера Canada Post. Мне нужно как-то указать, что если он вернется как "ускоренный", он должен сказать "Canada Post". Это возможно?
$name = substr(
$resultXML,
strpos($resultXML, "<name>") + strlen("<name>"),
strpos($resultXML, "</name>") - strlen("<name>") - strpos($resultXML, "<name>")
);
Вы можете использовать простой оператор if
:
if ($name === 'Expedited') {
$name = 'Canada Post';
}
Вам нужно использовать простой XML-парсер, который встроен в php
// make it more error friendly
$saved = libxml_use_internal_errors(true);
//load the xml as object
$xml = simplexml_load_string($inputString);
if ($xml === false) {
foreach (libxml_get_errors() as $error) {
echo $error->message, "\n";
}
libxml_use_internal_errors($saved);
return;
}
libxml_use_internal_errors($saved);
echo $xml->asXML(); //you can see the XML here
получить имя по позиции объекта, например $xml->obj1->name
т.д.