PHP怎么解析XML代码
程序员文章站
2024-01-31 09:43:52
...
PHP如何解析XML代码?
是一个短信接口:调用的代码如下:
print_r($res)后获得一段XML代码,如下:
0
看到这段代码中的0了么?我标了红色。如果返回值是0,则发送成功。
但是我这样判断是不可以的:
请问我应该怎样判断获取到了0并在数据库中更新发送状态?
------解决方案--------------------
preg_match('/(.+)/s', $res,$r);
if($r[1]=="0"){
mysql_query("update sms set etime=now(),wei='发送成功' where sms_id='$sms_id'");
}
------解决方案--------------------
返回xml是个字符串(而且非常短),你要判断的也是个字符串,所以没必要先解析xml
当然你去解析也不是错误,只是多耗点资源而已,先加载一个dom class,再parse
如果你要获得一个xml节点(复杂点的),再考虑后一种方法吧
#3的正则是一样的,但从返回的字串判断
你这情况就执行与不执行的布林值,所以我觉得连返回都可以省了
直接判断preg_match()是否True就够了
是一个短信接口:调用的代码如下:
$res = file_get_contents("http://XXXXXXX/webservice.asmx/mt?Sn=$name&Pwd=$pwd&mobile=$tel&content=$msg");
print_r($res);
print_r($res)后获得一段XML代码,如下:
看到这段代码中的0了么?我标了红色。如果返回值是0,则发送成功。
但是我这样判断是不可以的:
if($res=="0"){
mysql_query("update sms set etime=now(),wei='发送成功' where sms_id='$sms_id'");
}
请问我应该怎样判断获取到了0并在数据库中更新发送状态?
------解决方案--------------------
preg_match('/
if($r[1]=="0"){
mysql_query("update sms set etime=now(),wei='发送成功' where sms_id='$sms_id'");
}
------解决方案--------------------
返回xml是个字符串(而且非常短),你要判断的也是个字符串,所以没必要先解析xml
当然你去解析也不是错误,只是多耗点资源而已,先加载一个dom class,再parse
如果你要获得一个xml节点(复杂点的),再考虑后一种方法吧
#3的正则是一样的,但从返回的字串判断
你这情况就执行与不执行的布林值,所以我觉得连返回都可以省了
直接判断preg_match()是否True就够了
相关文章
相关视频
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
下一篇: php 利用反射执行callable
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论