[英]Processing a SOAP web service response in php
我擁有已經運行多年的.Net Web服務,現在希望能夠使用php調用和檢索內容。 該服務正確返回響應:
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
<NewDataSet xmlns="">
<Table diffgr:id="Table1" msdata:rowOrder="0">
<Lang_Country_Region>Chinese - China</Lang_Country_Region>
<twoLetter>zh-CN</twoLetter>
</Table>
<Table diffgr:id="Table2" msdata:rowOrder="1">
<Lang_Country_Region>Dutch - The Netherlands</Lang_Country_Region>
<twoLetter>nl-NL</twoLetter>
</Table>
<Table diffgr:id="Table3" msdata:rowOrder="2">
<Lang_Country_Region>English - United States</Lang_Country_Region>
<twoLetter>en-US</twoLetter>
</Table>
<Table diffgr:id="Table4" msdata:rowOrder="3">
<Lang_Country_Region>French - France</Lang_Country_Region>
<twoLetter>fr-FR</twoLetter>
</Table>
<Table diffgr:id="Table5" msdata:rowOrder="4">
<Lang_Country_Region>German - Germany</Lang_Country_Region>
<twoLetter>de-DE</twoLetter>
</Table>
我得到這個結果與下面的PHP代碼:
$result = $client->lstSupLang($params)->lstSupLangResult;
我被困在這里,我正在使用SoapClient進行這些調用。
如何在響應中讀取肥皂的身體/元素?
更新:現在,我已經通過以下方式檢索了數據:
$xml = simplexml_load_string($result->any);
我只是不確定如何解析$ xml中存在的內容:
SimpleXMLElement Object ( [NewDataSet] => SimpleXMLElement Object (
[Table] => Array (
[0] => SimpleXMLElement Object ( [Lang_Country_Region] => Chinese - China [twoLetter] => zh-CN )
[1] => SimpleXMLElement Object ( [Lang_Country_Region] => Dutch - The Netherlands [twoLetter] => nl-NL )
[2] => SimpleXMLElement Object ( [Lang_Country_Region] => English - United States [twoLetter] => en-US )
[3] => SimpleXMLElement Object ( [Lang_Country_Region] => French - France [twoLetter] => fr-FR )
[4] => SimpleXMLElement Object ( [Lang_Country_Region] => German - Germany [twoLetter] => de-DE ))))
如何使用php閱讀此內容?
解決了。
$count= 0;
foreach ($xml->children() as $values) {
while($row = $values[$count]) {
echo $row->Table[$count]->Lang_Country_Region . "<br>";
echo $row->Table[$count]->twoLetter . "<br>";
$count = $count + 1;
}
}
不知道這是否是正確的方法,想看看替代方法。 但是它的確輸出了所有SOAP的結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.