<?php
header("content-type:text/html;charset=UTF-8");
//接口的URL
$file_url = "http://flash.weather.com.cn/wmaps/xml/china.xml";
$tree = array();
//开始标签处理器
function startElement($parser, $name, $attrs) {
global $tree;
$element = array();
foreach ($attrs as $key => $value) {
$element[strtolower($key)]=$value;
}
$tree[][strtolower($name)] = $element;
}
//结束标签处理器
function endElement($parser, $name) {
}
//创建XML解析器
$xml_parser = xml_parser_create();
//定义XML的处理函数(处理器)
xml_set_element_handler($xml_parser, "startElement", "endElement");
//打开文件资源
if (!($fp = fopen($file_url, "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);
echo "<pre>";
print_r($tree);
?>
header("content-type:text/html;charset=UTF-8");
//接口的URL
$file_url = "http://flash.weather.com.cn/wmaps/xml/china.xml";
$tree = array();
//开始标签处理器
function startElement($parser, $name, $attrs) {
global $tree;
$element = array();
foreach ($attrs as $key => $value) {
$element[strtolower($key)]=$value;
}
$tree[][strtolower($name)] = $element;
}
//结束标签处理器
function endElement($parser, $name) {
}
//创建XML解析器
$xml_parser = xml_parser_create();
//定义XML的处理函数(处理器)
xml_set_element_handler($xml_parser, "startElement", "endElement");
//打开文件资源
if (!($fp = fopen($file_url, "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);
echo "<pre>";
print_r($tree);
?>