Php 使用SimpleXML对XML的SOAP响应
我正在尝试将SOAP响应转换为XML 肥皂有一个外壳和一个主体Php 使用SimpleXML对XML的SOAP响应,php,xml,soap,simplexml,Php,Xml,Soap,Simplexml,我正在尝试将SOAP响应转换为XML 肥皂有一个外壳和一个主体 <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> 我明白了 如果将$string编辑为soap:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
我明白了
如果将$string
编辑为soap:Envelope
和soap:Body
,则可以获取XML
有什么问题:
?无法获取XML
我希望这是清楚的。有人吗?SimpleXML需要对名称空间的XML进行特殊处理()SOAP消息已经是XML了。问题是它有名称空间,所以您必须以不同的方式访问它。(冒号前的部分是命名空间的标识符。) 是将名称空间与SimpleXML一起使用的示例。
是读取SOAP消息的一个特定示例。完全清楚。但是如果我想访问xml->SOAP:Envelope->SOAP:Body->item1->Item2,该怎么办呢?因为在这个示例中,“SOAP:”没有绑定到名称空间。请注意,不是名称空间前缀必须匹配,而是名称空间本身。
$responseXML = simplexml_load_string($string);
object(SimpleXMLElement)#20 (0) { }