我正在通过 CURL 访问 SOAP 服务器(这是 PHP 连接的唯一方式)。这是我收到的回复:
<s:envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing">
<s:header>
<a:action s:mustunderstand="1">PublicApi/IPropertyService/CreatePropertyResponse</a:action>
</s:header>
<s:body>
<createpropertyresponse xmlns="PublicApi">
<createpropertyresult xmlns:b="http://schemas.datacontract.org/2004/07/EfxFramework.PublicApi.Property" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<message xmlns="http://schemas.datacontract.org/2004/07/EfxFramework.PublicApi">Successfully completed the operation</message>
<result xmlns="http://schemas.datacontract.org/2004/07/EfxFramework.PublicApi">0</result>
<transactiondate xmlns="http://schemas.datacontract.org/2004/07/EfxFramework.PublicApi">2013-05-15T04:07:48.6565312Z</transactiondate>
<b:propertyid>55</b:propertyid>
</createpropertyresult>
</createpropertyresponse>
</s:body>
我正在尝试提取以下内容:
<message xmlns="http://schemas.datacontract.org/2004/07/EfxFramework.PublicApi">Successfully completed the operation</message>
<result xmlns="http://schemas.datacontract.org/2004/07/EfxFramework.PublicApi">0</result>
<b:propertyid>55</b:propertyid>
但我不知道如何解析它。我试过“simplexml_load_string” put 会引发一堆错误,例如“命名空间警告:xmlns:URI PublicApi 不是绝对的”
有什么建议么?