function xml2array($XMLData){
$encoding = "UTF-8";
$xml_parser = xml_parser_create($encoding);
xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING, "UTF-8" );
xml_parse_into_struct($xml_parser, $XMLData, $vals, $index);
xml_parser_free($xml_parser);
foreach ($vals as $xml_elem) {
if ($xml_elem['type'] == 'open') {
if (array_key_exists('attributes',$xml_elem)) {
list($level[$xml_elem['level']],$extra) = array_values($xml_elem['attributes']);
} else {
$level[$xml_elem['level']] = $xml_elem['tag'];
}
}
if ($xml_elem['type'] == 'complete') {
$start_level = 1;
$php_stmt = '$MyData';
while($start_level < $xml_elem['level']) {
$php_stmt .= '[$level['.$start_level.']]';
$start_level++;
}
$php_stmt .= '[$xml_elem[\'tag\']] = $xml_elem[\'value\'];';
eval($php_stmt);
}
}
return $MyData
}
source:http://tw2.php.net/manual/en/function.xml-parser-create.php
- Jul 03 Thu 2008 10:13
php xml2array 實用的function
全站熱搜
留言列表