Есть ли простой способ синтаксического анализа тегов с двоеточиями в имени тега с помощью SimpleXML xpath?Разбор тегов с двоеточиями с использованием SimpleXML xpath в PHP
Пример:
<v12:ProcessShipmentResponse>SUCCESS</v12:ProcessShipmentResponse>
Вот код, который я использую, чтобы разобрать теги, которые не пространств имён, но порывает с пространствами имен тегов.
$xml = simplexml_load_string($responseXMLL, NULL, NULL, 'http://schemas.xmlsoap.org/soap/envelope/');
foreach ($xml->xpath('soapenv:Body') as $body) {
$custInfoArr['status'] = (string) $body->v12:ProcessShipmentReply->v12:HighestSeverity;
$custInfoArr['trackingCode'] = (string) $body->v12:ProcessShipmentReply->v12:CompletedShipmentDetail->v12:CompletedPackageDetails->v12:TrackingIds->v12:TrackingNumber;
$custInfoArr['labelCode'] = (string) $body->v12:ProcessShipmentReply->v12:CompletedShipmentDetail->v12:CompletedPackageDetails->v12:Label->v12:Parts->v12:Image;
}
Это относится только к использованию XPath, а не к нормальному доступу к объекту и массиву, предоставляемому SimpleXML ('-> node' и' ['attribute'] '). – IMSoP
@IMSoP: это альтернативное рабочее решение, не знаю, почему вы остановили его. – DonCallisto
Да, но вы на самом деле не объяснили, как его использовать, так как это похоже на то, как исправить код OP, который кроме одной строки был * не *, используя XPath, и это не нужно. – IMSoP