我认为您需要注册名称空间并使用XPath进行访问。如下所示的内容应该可以帮助您(我没有设施可以对此进行测试)。
$xml = simplexml_load_string($res, NULL, NULL, "http://schemas.xmlsoap.org/soap/envelope/");$xml->registerXPathNamespace('soap-env', 'http://schemas.xmlsoap.org/soap/envelope/');$xml->registerXPathNamespace('eb', 'http://www.ebxml.org/namespaces/messageHeader');$xml->registerXPathNamespace('wsse', 'http://schemas.xmlsoap.org/ws/2002/12/secext');然后,您可以执行以下操作:
foreach($xml->xpath('//eb:MessageHeader') as $header){ var_export($header->xpath('//eb:CPAId')); // Should output 'something'.}您可能不需要注册名称空间,也不必考虑它,因为名称空间已存在于XML中。虽然不确定,但是需要测试。
希望这可以帮助。



