<?xml version="1.0" encoding="utf-8"?>
<user>
<person_siteurl>http://www.163.com</person_siteurl>
<job_keys>PHP</job_keys>
<job_keys>JAVA</job_keys>
<job_keys>PYTHON</job_keys>
<email>[email protected]</email>
</user>以上是XML,怎么将里面的数据提取出来,结果如下:$arr = array(
'person_siteurl'=>'http://www.163.com',
'job_keys'=>'php,java,python',
'email'=>'[email protected]'
)谢谢~~
<?php
$s='<?xml version="1.0" encoding="utf-8"?>
<user>
<person_siteurl>http://www.163.com</person_siteurl>
<job_keys>PHP</job_keys>
<job_keys>JAVA</job_keys>
<job_keys>PYTHON</job_keys>
<email>[email protected]</email>
</user>';
$result = xml_to_array($s);
var_dump($result);
function xml_to_array($xml)
{
$array = (array)(simplexml_load_string($xml));
foreach ($array as $key=>$item){
$array[$key] = struct_to_array((array)$item);
}
return $array;
}
function struct_to_array($item) {
if(!is_string($item)) {
$item = struct_to_array($val);
}
return $item;
}
http://topic.csdn.net/u/20080616/20/bab806e7-c5df-45d8-b289-863304c849c6.html
出现错误
foreach($xml->children() as $k=>$v){
if(!$ar[$k]) $ar[$k]=(string)$v;
else $ar[$k].=','.$v;
}
print_r($ar);
$res=array_map(function($param){return is_array($param)?implode(',',$param):$param;},$arr);
print_r($res);