我正在尝试将SOAP响应转换为XML。
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>
当我尝试转换
时$responseXML = simplexml_load_string($string);
我得到了
object(SimpleXMLElement)#20 (0) { }
如果我将$string
编辑为soap:Envelope
和soap:Body
,我可以获取XML。
:
出了什么问题?无法获得XML。
我希望它很清楚。任何人吗?
答案 0 :(得分:9)
SOAP消息 已经是XML。问题是它有名称空间,所以你必须以不同的方式访问它。 (冒号前面的部分是命名空间的标识符。)
Here (google cached copy)是使用SimpleXML命名空间的示例 Here是读取SOAP消息的一个具体示例。
答案 1 :(得分:1)
SimpleXML需要对命名空间XML(ref.)
进行特殊处理