【发布时间】:2017-08-08 03:37:59
【问题描述】:
我在XML 上很新,我目前在 PHP 中工作,我向其他服务器发出请求,该服务器通常使用 XML 返回回调
无论如何,我不会谈论我是如何得到响应的,而是如何转换XML 响应。
它们是XML响应的两种类型,我们可以称之为$response
第一:
<BASEELEMENT SCHEMA="RESULT" METHOD="ADD-MBX">
<RETURN_VALUE>4</RETURN_VALUE>
<ERROR_DESCRIPTION>
<![CDATA[Error (7004): Login name already exists. Please use another login name.]]>
</ERROR_DESCRIPTION>
</BASEELEMENT>
第二个是:
<baseelement schema="TIMEOUT" method="ADD-MBX"></baseelement>
我已经搜索过了,我知道如何将 xml 响应转换为对象或数组,即
$response = new \SimpleXMLElement($response);
转换后:
object(SimpleXMLElement)#256 (3) {
["@attributes"]=>
array(2) {
["SCHEMA"]=>
string(6) "RESULT"
["METHOD"]=>
string(7) "ADD-MBX"
}
["RETURN_VALUE"]=>
string(1) "4"
["ERROR_DESCRIPTION"]=>
object(SimpleXMLElement)#257 (0) {
}
}
我们可以看到ERROR_DESCRIPTION 变成了0。
所以我想问一下,有没有xml converter 或者simplexml_load_string() 或new \SimpleXMLElement()
我无法使用该功能,因为我无法获得ERROR_DESCRIPTION
谢谢你:)
【问题讨论】:
-
您究竟是如何尝试阅读
ERROR_DESCRIPTION的? -
使用
rest client,或echo"<pre>" var_dump(),使用echo pre vardump,xml被隐藏,所以我使用inspect元素来查看xml响应@ThW