用于解析XML格式文件,比较好用.以前在Joomla中还多用XMLparsing,这个比较起来轻便灵活。他的优点有时候也会成为他的缺点,因为是将整个XML文件读入到数组中进行处理所以当XML文件变很大的时候,你会有点郁闷的。我曾经用他处理一个有一万多行的XML,在读取后又进行了一下排序结果当时就死机一点不含糊的 ^_^
解析如下一个XML文件
<?xml version="1.0" encoding="gb2312"?>
<NewsList>
<News>
<NewsId>1286</NewsId>
<Title>广州市市场准入条件</Title>
<InputDate>2005-03-04 16:52:00</InputDate>
<Type>特许经营网</Type>
</News>

<News>
<NewsId>1284</NewsId>
<Title>上海市场准入条件</Title>
<InputDate>2005-03-04 16:51:00</InputDate>
<Type>新闻</Type>
</News>

<News>
<NewsId>1281</NewsId>
<Title>识房产证的真伪</Title>
<InputDate>2005-03-04 16:41:00</InputDate>
<Type>经营新闻</Type>
</News>

<News>
<NewsId>1274</NewsId>
<Title>上海新天地经营模式分析</Title>
<InputDate>2005-03-04 14:51:00</InputDate>
<Type>特许新闻</Type>
</News>
</NewsList>
PHP程序如下:
<?php
$xmlfile = "../xml/news/"."Type".$v.".xml";
if(file_exists($xmlfile)){//如果存在XML文件则进行解析
$filehander = fopen($xmlfile,"r");
$date = fread($filehander,filesize($xmlfile));
$xml = xmlize($date);

$len = $xml["NewsList"]["#"]["News"];
$lenth = sizeof($len);
//将解析的数据存储于数组变量中
for($i=0;$i<$lenth;$i++){
$rs[$j]["NewsId"] = $len[$i]["#"]["NewsId"]["0"]["#"];
$rs[$j]["Title"] = $len[$i]["#"]["Title"]["0"]["#"];
$rs[$j]["InputDate"] = $len[$i]["#"]["InputDate"]["0"]["#"];
$rs[$j++]["Type"] = $len[$i]["#"]["Type"]["0"]["#"];
}

}
?>
解析如下一个XML文件
<?xml version="1.0" encoding="gb2312"?>
<NewsList>
<News>
<NewsId>1286</NewsId>
<Title>广州市市场准入条件</Title>
<InputDate>2005-03-04 16:52:00</InputDate>
<Type>特许经营网</Type>
</News>
<News>
<NewsId>1284</NewsId>
<Title>上海市场准入条件</Title>
<InputDate>2005-03-04 16:51:00</InputDate>
<Type>新闻</Type>
</News>
<News>
<NewsId>1281</NewsId>
<Title>识房产证的真伪</Title>
<InputDate>2005-03-04 16:41:00</InputDate>
<Type>经营新闻</Type>
</News>
<News>
<NewsId>1274</NewsId>
<Title>上海新天地经营模式分析</Title>
<InputDate>2005-03-04 14:51:00</InputDate>
<Type>特许新闻</Type>
</News>
</NewsList>PHP程序如下:
<?php
$xmlfile = "../xml/news/"."Type".$v.".xml";
if(file_exists($xmlfile)){//如果存在XML文件则进行解析
$filehander = fopen($xmlfile,"r");
$date = fread($filehander,filesize($xmlfile));
$xml = xmlize($date);
$len = $xml["NewsList"]["#"]["News"];
$lenth = sizeof($len);
//将解析的数据存储于数组变量中
for($i=0;$i<$lenth;$i++){
$rs[$j]["NewsId"] = $len[$i]["#"]["NewsId"]["0"]["#"];
$rs[$j]["Title"] = $len[$i]["#"]["Title"]["0"]["#"];
$rs[$j]["InputDate"] = $len[$i]["#"]["InputDate"]["0"]["#"];
$rs[$j++]["Type"] = $len[$i]["#"]["Type"]["0"]["#"];
}
}
?>
本文介绍了一种使用PHP解析XML文件的方法,通过示例代码展示了如何读取和处理XML数据,特别关注了处理大型XML文件时可能遇到的问题。
4808

被折叠的 条评论
为什么被折叠?



