我发现了很多关于SoapClient希望你在设置属性的请求的解释,但我根本找不到读取属性的方式。PHP 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” 属性被从未附在 “索引” 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。
会使用命名空间帮助你吗? http://stackoverflow.com/q/8525020/1513471 – 2013-03-15 16:37:35
谢谢。你能澄清为什么命名空间会成为一个问题吗? WSDL定义了通常的SOAP包装名称空间,而且我们使用的命名空间不同于我的示例中所声明的名称空间。 – voodoodrul 2013-03-15 17:28:42
因为命名空间指向xml属性,所以我建议命名空间。 – 2013-03-17 15:33:05