最近在做一个小项目时、由于是要调取一些医院系统的数据,而这些只提供webservice的xml数据。
程序调试到最后一天要演示的时候发现在xml里面多了一个'
1.通过stripos()函数定位到包含的xml标签的起始位置。
2.通过substr()函数截取标签
3.通过str_replace()函数进行替换。
立即学习“PHP免费学习笔记(深入)”;
虽然这个方法有点笨重,但是思路还是很清晰,不过后来我发现如果xml中有多个标签里面包含'
于是乎,想到了正则回调的方法:
function search($match){
$match = str_replace(" return $match;
}
//$xml = simplexml_load_file("tes.xml"); //读取xml文件
$xml_str=file_get_contents("test.xml");
$xml_result=preg_replace_callback("/(.*?)/s", "search", $xml_str);//正则回调
$xml = simplexml_load_string($xml_result);
print_r($xml);exit;
简单说下思路:
主要就是用正则回调把尖括号
这样就简单的解决了!!!
以上就介绍了php调取webservice时解析xml遇到的解决办法,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号