PHP SoapClient将XML数组解释为对象而不是数组
我无法从soap客户端获得正确的soap响应。下面是我在soap服务中得到的一个纯soap响应:PHP SoapClient将XML数组解释为对象而不是数组,php,soap,Php,Soap,我无法从soap客户端获得正确的soap响应。下面是我在soap服务中得到的一个纯soap响应: <a:Result> <b:WindowTypes> <b:Window> <b:WindowID>xxx</b:WindowID> </b:Window>
<a:Result>
<b:WindowTypes>
<b:Window>
<b:WindowID>xxx</b:WindowID>
</b:Window>
<b:Window>
<b:WindowID>yyy</b:WindowID>
</b:Window>
<b:Window>
<b:WindowID>zzz</b:WindowID>
</b:Window>
</b:WindowTypes>
</b:Result>
我希望有这样的结构:
WindowTypes(数组)->Window(对象)->WindowID(对象)
但我明白了:
窗口类型(对象)->窗口(数组)->窗口ID(对象)
我猜这是因为WindowTypes没有显式地注释为数组(顺便说一下,在C#中,这很好,WindowTypes是一个数组),但显然它应该是一个数组,因为它包含多个窗口元素
不幸的是,也没有办法更改或更新SOAP结构。
我使用PHP5+SoapClient
["Result"]=>
object(stdClass)#597 (6) {
["WindowTypes"]=>
object(stdClass)#518 (1) {
["Window"]=>
array(32) {
[0]=>
object(stdClass)#519 (1) {
["WindowID"]=>
string(3) "xxx"
}
[1]=>
object(stdClass)#520 (1) {
["WindowID"]=>
string(3) "yyy"
}
[2]=>
object(stdClass)#521 (1) {
["WindowID"]=>
string(3) "zzz"
}
}}