PHP SoapClient和读取属性

时间:2013-03-15 16:18:50

标签: php attributes get soap-client

我已经找到了很多关于SoapClient如何期望你在请求中设置属性的解释,但是我找不到从响应中读取属性的方法。

例如,我的SoapClient响应中包含以下元素:

...
<ns:index>
   <ns:uid expdate="2013-09-03 14:30:00">JOWtest002</ns:uid>
   <ns:uid expdate="2013-02-07 15:00:00">JOWtest003</ns:uid>
</ns:index>
...

但是,“expdate”属性永远不会附加到“index”stdClass

["index"]=>
  object(stdClass)#80 (1) {
  ["uid"]=>
    array(2) {
    [0]=>
      string(10) "JOWtest002"
    [1]=>
      string(10) "JOWtest003"
    }
}

我尝试使用SoapClient类映射将其绑定到对象,但遗憾的是,WSDL没有将“uid”元素定义为complexType,因此它也不映射属性。将“索引”本身绑定到类不起作用。

有什么建议吗?我真的想避免通过将XML提供给SimpleXML或DOMDocument来解析XML。

1 个答案:

答案 0 :(得分:0)

我使用XML工作了很多,这是一项真正的苦差事。根据我的经验,如果你打开使用一个编写了一个处理SOAP响应的优秀包装器的库,那就是实现在link找到的Saber的XML库。

发送和阅读回复非常简单。文档非常好,他们的网站上有很多例子可以帮助您有效地使用库。