参考 :php手册 (XML 元素结构例程)
<?php header("content-type:text/html;charset=utf-8"); //接口URL、 $file='http://flash.weather.com.cn/wmaps/xml/china.xml'; $result = array();//定义全局变量 function startTag($parser, $name, $attrs) { global $result; $array=array(); foreach ($attrs as $k=> $v){ $array[strtolower($k)]=$v; } $result[][strtolower($name)]=$array; } function cdata($parser, $cdata) { global $result; if(trim($cdata)) { $result[count($result)-1]['cdata']=$cdata; } } function endTag($parser, $name) { } //创建xml解析器 $xml_parser = xml_parser_create(); //定义XML的处理函数(处理器) xml_set_element_handler($xml_parser, "startTag", "endTag"); //打开文件资源 if (!($fp = fopen($file, "r"))) { die("could not open XML input"); } //循环处理数据 while ($data = fread($fp, 4096)) { if (!xml_parse($xml_parser, $data, feof($fp))) { die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser))); } } //释放解析器 xml_parser_free($xml_parser); print("<pre>\n"); var_dump($result); ?>
时间: 2024-12-29 10:32:52