使用 Simplexml 从 XML 中检索数据
Retrieve DATA from XML with Simplexml
我正在尝试从使用 Symfony2 和 php 5.6 的 XML SOAP 响应中提取值,我已经阅读了文档并尝试了很多方法,但仍然无法获取数据
这是我的 XML 字符串
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:provisioningWithDataResponse xmlns="URL" xmlns:ns2="http://URL">
<ns2:provisioningReturn>
<date>2016-02-26T09:17:49.648+01:00</date>
<messageId>642176832</messageId>
<returnCode>1</returnCode>
<returnMessage>Code: 6 Message: SQL query failed </returnMessage>
</ns2:provisioningReturn>
</ns2:provisioningWithDataResponse>
</S:Body>
</S:Envelope>
我试过这个来获取数据并将其存储在会话中,但似乎 $xml
总是空的,因为我总是收到此错误消息
Notice: Trying to get property of non-object
代码:
$xml=simplexml_load_string($order_return);
$session->set("Respense",(string)$xml->children('ns2',true)->provisioningReturn[0]->returnMessage);
知道如何检索 returnMessage
值吗?谢谢
试试下面的代码:
(string)
// $xml is the node: S:Envelope
$xml->children('S', true) // => node: S:Body
->children('ns2', true) // => node: ns2:provisioningWithDataResponse
->children('ns2', true) // => ns2:provisioningReturn
->children()
->returnMessage
我正在尝试从使用 Symfony2 和 php 5.6 的 XML SOAP 响应中提取值,我已经阅读了文档并尝试了很多方法,但仍然无法获取数据
这是我的 XML 字符串
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:provisioningWithDataResponse xmlns="URL" xmlns:ns2="http://URL">
<ns2:provisioningReturn>
<date>2016-02-26T09:17:49.648+01:00</date>
<messageId>642176832</messageId>
<returnCode>1</returnCode>
<returnMessage>Code: 6 Message: SQL query failed </returnMessage>
</ns2:provisioningReturn>
</ns2:provisioningWithDataResponse>
</S:Body>
</S:Envelope>
我试过这个来获取数据并将其存储在会话中,但似乎 $xml
总是空的,因为我总是收到此错误消息
Notice: Trying to get property of non-object
代码:
$xml=simplexml_load_string($order_return);
$session->set("Respense",(string)$xml->children('ns2',true)->provisioningReturn[0]->returnMessage);
知道如何检索 returnMessage
值吗?谢谢
试试下面的代码:
(string)
// $xml is the node: S:Envelope
$xml->children('S', true) // => node: S:Body
->children('ns2', true) // => node: ns2:provisioningWithDataResponse
->children('ns2', true) // => ns2:provisioningReturn
->children()
->returnMessage