我發現了很多關於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