PHP 读取xml格式的字符串

我通过接口或得一个字符串:<?xmlversion="1.0"encoding="utf-8"?><responsescode="200"msg="time:0ms971... 我通过接口或得一个字符串:
<?xml version="1.0" encoding="utf-8" ?><responses code="200" msg="time: 0ms 971us"><response>法国</response><response>德国</response><response>中国</response><response>英国</response><response>泰国</response><response>美国</response><response>韩国</response><response>西兰公国</response><response>中非共和国</response><response>韩国丽水-韩国</response></responses>

但是应该是xml格式的,请问这种情况我应该怎么用Php读取出这里面的国家呢,不能用字符串替换。非常感谢,没分了,不好意思
展开
 我来答
百度网友a443a3b35
2014-08-21 · TA获得超过309个赞
知道小有建树答主
回答量:223
采纳率:0%
帮助的人:204万
展开全部
$strXml='<?xml version="1.0" encoding="utf-8" ?><responses code="200" msg="time: 0ms 971us"><response>法国</response><response>德国</response><response>中国</response><response>英国</response><response>泰国</response><response>美国</response><response>韩国</response><response>西兰公国</response><response>中非共和国</response><response>韩国丽水-韩国</response></responses>';

$pos = strpos($strXml, 'xml');
if (!$pos) {
die("不是xml字符串!");
}
$obj=simplexml_load_string($strXml,'SimpleXMLElement', LIBXML_NOCDATA);
if(is_object($obj)){
$obj=get_object_vars($obj);
}

echo "<pre>";
print_r($obj);

另外记得文件一定要是utf-8编码,如果不是记得用iconv函数转一下。
jinyc007
2014-08-21 · TA获得超过934个赞
知道小有建树答主
回答量:398
采纳率:75%
帮助的人:475万
展开全部
$str = '<?xml version="1.0" encoding="utf-8" ?><responses code="200" msg="time: 0ms 971us"><response>法国</response><response>德国</response><response>中国</response><response>英国</response><response>泰国</response><response>美国</response><response>韩国</response><response>西兰公国</response><response>中非共和国</response><response>韩国丽水-韩国</response></responses>';
$postObj = simplexml_load_string($str, 'SimpleXMLElement', LIBXML_NOCDATA);
$arr = (array) $postObj->response;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式