五
以下是用PHP
<?
//
//第一部分
//
/**********************************
*從一個文件中讀取XML的 *
*內容到字符串中 *
*********************************/
function read_file($filename)
{
//讀取文件
$lines=file($filename);
//變量$contents是存放文件內容的變量
$contents=
while(list($key
{
$contents
}
return $contents;
}
/*********************************
*當PHP遇到一個XML的起始標記時 *
*調用
*顯示出XML的標記 *
*********************************/
function start_element($parser
{
//變量$depth存放標記的深度
global $depth;
//變量$spacer存放標記前所有的箭頭符號
$spacer=
for ($i=
{
$spacer
}
//設置標記顯示時的顏色
if($depth[$parser]==
{
$font_color=
}
else
if($depth[$parser]==
{
$font_color=
}
else
{
$font_color=
}
//設置標記顯示時的字體
$font_size=
if ($font_size<
{
$font_size=
}
//顯示標記
echo
echo $spacer
if ($depth[$parser]<>
{
echo
}
echo $name
echo
$depth[$parser]++;
//如果是主標記就顯示紅色的水平線
if($depth[$parser]==
{
echo
}
}
/*********************************
*當PHP遇到一個XML的結束標記時 *
*調用
*計數
*********************************/
function stop_element($parser
{
//變量$depth存放標記的深度
global $depth;
$depth[$parser]
//如果是主標記就顯示紅色的水平線
if($depth[$parser]==
{
echo
}
}
/*********************************
*當PHP遇到一個XML的標記內容時 *
*調用
*顯示出標記的內容 *
*********************************/
function char_data($parser
{
//變量$depth存放標記的深度
global $depth;
//顯示標記的內容
$data=trim($data);
if (strlen($data))
{
for ($i=
echo
echo
}
}
//
//第二部分
//
//要解析的XML文件的名字
$file=
//讀取文件
$data=read_file($file);
// 產生解析器的實例
$parser = xml_parser_create();
// 設置處理函數
xml_set_element_handler($parser
xml_set_character_data_handler($parser
// 解析文件
if(!xml_parse($parser
{
//報錯
die(sprintf(
xml_error_string(xml_get_error_code($parser))
xml_get_current_line_number($parser)));
}
// 釋放解析器
xml_parser_free($parser);
?>
[
From:http://tw.wingwit.com/Article/program/PHP/201311/21416.html