实现动态XML

王朝other·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

首先建表:

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="<?

$xml_parser->parse($xmldata);

?>

</table>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航