Heim >Backend-Entwicklung >PHP-Tutorial >用php实现动态产生xml文件以及从xml文件中抽取数据转化成html的_PHP教程

用php实现动态产生xml文件以及从xml文件中抽取数据转化成html的_PHP教程

WBOY
WBOYOriginal
2016-07-13 17:35:221000Durchsuche

这个东东搞了我一天。。。可是到最后发现却无法实现自己想像中的那种效果。。。真是可惜。。。看来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="n";
$XMLfile.="n";

while($row=mysql_fetch_array($rs)){
for($i=0;$i$fieldname=mysql_field_name($rs,$i);
$XMLfile.="" . $row[$i] . "" . $fieldname . ">n";
}
}
mysql_free_result($rs);
mysql_close($connect_id);
$XMLfile.="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 "

" . $tag . "";
}
else{
switch ((XML_get_current_line_number($parser)-2)%6){
case 0:
echo " 下载 ";
break;
case 1:
echo " ID号 ";
break;
case 2:
echo " 书名 ";
break;
case 3:
echo " 作者 ";
break;
case 4:
echo " 出版社 ";
break;
case 5:
echo " 出版日期 ";
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));
?>

图书信息



$XML_parser->parse($XMLdata);
?>

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

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/508362.htmlTechArticle这个东东搞了我一天。。。可是到最后发现却无法实现自己想像中的那种效果。。。真是可惜。。。看来PHP对XML还需要加强。。。如果哪位...

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn