function->xml_read.php
<?
function trustedFile($file)
{
// only trust local files owned by ourselves
if (!eregi("^([a-z]+)://", $file)
&& fileowner($file) == getmyuid()) {
return true;
}
return false;
}function startElement($parser, $name, $attribs)
{
global $xml_temp_node,$xml_count;
if($name=="ITEM") $xml_count++;
$xml_temp_node=strtolower($name);
}function endElement($parser, $name)
{
global $xml_temp_node;
$xml_temp_node="ITEM";
}function characterData($parser, $data)
{
global $xml_result_array,$xml_temp_node,$xml_count;
if($xml_count!=-1 && $xml_temp_node!="ITEM") $xml_result_array[$xml_temp_node][$xml_count]=$data;
else
{
if($xml_temp_node!="ITEM") $xml_result_array["info"]["$xml_temp_node"]=$data;
}
}function new_xml_parser($file)
{
global $parser_file; $xml_parser = xml_parser_create();
xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, 1);
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
xml_set_processing_instruction_handler($xml_parser, "PIHandler");
xml_set_external_entity_ref_handler($xml_parser, "externalEntityRefHandler"); if (!($fp = @fopen($file, "r"))) {
return false;
}
if (!is_array($parser_file)) {
settype($parser_file, "array");
}
$parser_file[$xml_parser] = $file;
return array($xml_parser, $fp);
}
function xml_read($file)
{
if (!(list($xml_parser, $fp) = new_xml_parser($file)))
{
//die("could not open XML input");
global $xml_result_array;
$xml_result_array['info']['total']=0;
$xml_result_array['info']['count']=0;
return;
} while ($data = fread($fp, 4096))
{
xml_parse($xml_parser, $data, feof($fp));
}
xml_parser_free($xml_parser);
}
?>-> use<?
require_once('xml_read.php');$xml_result_array=array();
$xml_temp_node;
$xml_count=-1;$file='test.xml';
xml_read($file); print_r(array_values($xml_result_array)); //输出结果//->结果就保存在 $xml_result_array 中
?>
<?
function trustedFile($file)
{
// only trust local files owned by ourselves
if (!eregi("^([a-z]+)://", $file)
&& fileowner($file) == getmyuid()) {
return true;
}
return false;
}function startElement($parser, $name, $attribs)
{
global $xml_temp_node,$xml_count;
if($name=="ITEM") $xml_count++;
$xml_temp_node=strtolower($name);
}function endElement($parser, $name)
{
global $xml_temp_node;
$xml_temp_node="ITEM";
}function characterData($parser, $data)
{
global $xml_result_array,$xml_temp_node,$xml_count;
if($xml_count!=-1 && $xml_temp_node!="ITEM") $xml_result_array[$xml_temp_node][$xml_count]=$data;
else
{
if($xml_temp_node!="ITEM") $xml_result_array["info"]["$xml_temp_node"]=$data;
}
}function new_xml_parser($file)
{
global $parser_file; $xml_parser = xml_parser_create();
xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, 1);
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
xml_set_processing_instruction_handler($xml_parser, "PIHandler");
xml_set_external_entity_ref_handler($xml_parser, "externalEntityRefHandler"); if (!($fp = @fopen($file, "r"))) {
return false;
}
if (!is_array($parser_file)) {
settype($parser_file, "array");
}
$parser_file[$xml_parser] = $file;
return array($xml_parser, $fp);
}
function xml_read($file)
{
if (!(list($xml_parser, $fp) = new_xml_parser($file)))
{
//die("could not open XML input");
global $xml_result_array;
$xml_result_array['info']['total']=0;
$xml_result_array['info']['count']=0;
return;
} while ($data = fread($fp, 4096))
{
xml_parse($xml_parser, $data, feof($fp));
}
xml_parser_free($xml_parser);
}
?>-> use<?
require_once('xml_read.php');$xml_result_array=array();
$xml_temp_node;
$xml_count=-1;$file='test.xml';
xml_read($file); print_r(array_values($xml_result_array)); //输出结果//->结果就保存在 $xml_result_array 中
?>
{
if (!(list($xml_parser, $fp) = new_xml_parser($file)))
{
die("could not open XML input");
return;
} while ($data = fread($fp, 4096))
{
xml_parse($xml_parser, $data, feof($fp));
}
xml_parser_free($xml_parser);
}