7

我找到了许多关于 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。

4

1 回答 1

0

我在 XML 上工作了很多,这是一件真正的苦差事。以我的经验,如果您愿意使用一个编写了处理 SOAP 响应的优秀包装器的库,那么您将实现在此链接上找到的 Sabre 的 XML 库。

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

于 2017-08-28T13:37:51.727 回答