动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
  
   PHP → 阅读文章

 用PHP实现动态产生XML文件以及从XML文件中抽取数据转化成HTML的小程序

作者来源: 
阅读 数 123 人次 , 2006-3-29 4:10:00 


这个东东搞了我一天。。。可是到最后发现却无法实现自己想像中的那种效果。。。真是可惜。。。看来php对xml还需要加强。。。如果哪位对此有研究。欢迎来信探讨。。。

首先建表:
create table books (
 bookid int(4) not null auto_increment,
 bookname varchar(100) not null,
 bookauth varchar(50) not null,
 bookpublisher varchar(50) not null,
 bookpubdate datetime not null,
 bookurl varchar(50) not null,
 key bookid (bookid),
);

然后。。。这段是从mysql里取数据转化成xml的源代码:
<?
$connect_id=mysql_connect("localhost","root","");
mysql_select_db("bbs",$connect_id);
$query="select * from books order by bookid";
$rs=mysql_query($query,$connect_id);
$numfields=mysql_num_fields($rs);
$xmlfile="<?xml version=\"1.0\" encoding=\"gb2312\"?>\n";
$xmlfile.="<books>\n";

while($row=mysql_fetch_array($rs)){
for($i=0;$i<$numfields;$i++){
$fieldname=mysql_field_name($rs,$i);
$xmlfile.="<" . $fieldname . ">" . $row[$i] . "</" . $fieldname . ">\n";
}
}
mysql_free_result($rs);
mysql_close($connect_id);
$xmlfile.="</books>\n";
$fp=fopen("xmldoc/xmldoc.xml","w");
if(fwrite($fp,$xmlfile)){
echo "写入文件成功!";
}
else{
echo "写入文件失败!";
}
?>

这段是从xml里取数据转化成html的源代码。。。
<?
class xml{
var $parser;

function xml(){
$this->parser = xml_parser_create();
xml_set_object($this->parser,&$this);
xml_set_element_handler($this->parser,"tag_on","tag_off");
xml_set_character_data_handler($this->parser,"cdata");
}

function parse($data){
xml_parse($this->parser,$data);
}

function tag_on($parser,$tag,$attributes){
if(xml_get_current_line_number($parser)==2){
echo "<tr><td colspan=\"2\" align=\"center\">" . $tag . "</td>";
}
else{
switch ((xml_get_current_line_number($parser)-2)%6){
case 0:
echo "<tr><td>下载<td>";
break;
case 1:
echo "<tr><td>id号<td>";
break;
case 2:
echo "<tr><td>书名<td>";
break;
case 3:
echo "<tr><td>作者<td>";
break;
case 4:
echo "<tr><td>出版社<td>";
break;
case 5:
echo "<tr><td>出版日期<td>";
break;
}
}
}

function cdata($parser,$cdata){
echo $cdata;
}

function tag_off($parser,$tag){
echo "\n";
}
}

$xml_parser = new xml();
$xmlfilename="xmldoc/xmldoc.xml";
$fp=fopen($xmlfilename,"r");
$xmldata=fread($fp,filesize($xmlfilename));
?>
<html><head><title>图书信息</title></head>
<body>
<table border="0" cellspacing="1" cellpadding="2" width="80%" bgcolor="#b0d8ff" align="center">
<?
$xml_parser->parse($xmldata);
?>
</table>

其实你们应该看得出。。这个例子是个失败的东东。。。因为效果不大。。根本不能得到自己想要的东东。。。唉。。。苦。。。。

 本文TagsHTML/CSS  
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:用PHP3作树型目录
· 下一篇:老外编写的一个maillist源代码
· 基于PHP的聊天室
· PHP动态创建图象
· PHP应用提速面面观
· 模拟SQLSERVER的两个函数:dateadd(),datediff()
· 用中文命名,让汉字走向程序开发


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077