duanqiechui2378 2011-05-28 11:47
浏览 22
已采纳

XML> PHP仅在源代码中

I have a slight issue whereby the API I'm using for part of my service uses a rsp stat to handle the success / error messages in XML.

So we use a form to post it data and it returns the data like the following example:

<rsp stat="ok"> 
    <success msg="accepted" transactionid="505eeb9c43969d4919c0a6b3f7a4dfbb" messageid="a92eff8d65cf48e9c6e96702a7b07400"/> 
</rsp>

The following is most of the script used :

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
     // ToDo: Replace the placeholders in brackets with your data.
     // For example - curl_setopt($ch, CURLOPT_UsERPWD, 'SMSUser:PassW0rD#');
curl_setopt($ch, CURLOPT_USERPWD, '');
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 100);
$xml = curl_exec($ch);
if (curl_error($ch)) {
print "ERROR ". curl_error($ch) ."

"; } curl_close($ch); print_r($xml);

The only problem is that when it is parsed and displayed via the print_r command , it only displays via source code for some strange reason and we have no idea how to display it via the page

Basically we would like a system whereby if rsp stat="ok" then "Sent" else "unsent".

  • 写回答

3条回答 默认 最新

  • dqst96444 2011-05-28 11:54
    关注

    Well, a simple way could be:

    if (strpos($xml, 'stat="ok"') !== false) {
        echo "sent";
    } else {
        echo "unsent";
    }
    

    http://codepad.org/pkzsfsMk

    This would replace print($xml);.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 MATLAB中streamslice问题
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 51单片机中C语言怎么做到下面类似的功能的函数(相关搜索:c语言)
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端