Ce truc m'a dérangé toute la journée. . . Mais au final, j'ai découvert que je ne parvenais pas à obtenir l'effet que j'imaginais. . . Quelle honte. . . Il semble que PHP doive être renforcé pour XML. . . Si quelqu'un a des recherches à ce sujet. Bienvenue à écrire pour discuter. . .
Créez d'abord le tableau :
CRÉER des livres TABLE (
bookid int(4) NON NULL auto_increment,
nom du livre varchar (100) NON NULL,
bookauth varchar(50) NON NULL,
bookpublisher varchar(50) NON NULL,
bookpubdate datetime NON NULL,
bookurl varchar(50) NON NULL,
ID de livre CLÉ (id de livre),
);
Alors. . . Cette section est le code source pour récupérer des données depuis MYSQL et les convertir en 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)){
pour($i=0;$i<$numfields;$i ){
$fieldname=mysql_field_name($rs,$i);
$XMLfile.="<" . $fieldname ">" .
}
}
mysql_free_result($rs);
mysql_close($connect_id);
$XMLfile.="</books>n";
$fp=fopen("XMLdoc/XMLdoc.XML","w");
si(fwrite($fp,$XMLfile)){
echo "Ecriture réussie dans le fichier !";
}
autre{
echo "Échec de l'écriture du fichier !";
}
?>
Cette section est le code source qui récupère les données de XML et les convertit en HTML. . .
<?
classe XML{
var $analyseur ;
fonction 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");
}
fonction analyser ($données){
XML_parse($this->analyseur,$data);
}
fonction tag_on($parser,$tag,$attributes){
si(XML_get_current_line_number($parser)==2){
echo "<tr><td colspan="2" align="center">" $tag .
}
autre{
commutateur ((XML_get_current_line_number($parser)-2)%6){
cas 0 :
echo "<tr><td>Télécharger<td>" ;
casser;
cas 1 :
echo "<tr><td>Numéro d'identification<td>" ;
casser;
cas 2 :
echo "<tr><td>Titre du livre<td>";
casser;
cas 3 :
echo "<tr><td>Auteur<td>";
casser;
cas 4 :
echo "<tr><td>Maison d'édition<td>";
casser;
cas 5 :
echo "<tr><td>Date de publication<td>" ;
casser;
}
}
}
fonction cdata($parser,$cdata){
echo $cdata;
}
fonction tag_off($parser,$tag){
écho "n" ;
}
}
$XML_parser = nouveau XML();
$XMLfilename="XMLdoc/XMLdoc.XML";
$fp=fopen($XMLfilename,"r");
$XMLdata=fread($fp,filesize($XMLfilename));
?>
<HTML><head><title>Informations sur le livre</title></head>
<corps>
<table border="0" cellpacing="1" cellpadding="2" width="80%" bgcolor="#b0d8fF" align="center">
<?
$XML_parser->parse($XMLdata);
?>
</table>
En fait, vous devriez pouvoir le voir. . Cet exemple est un échec. . . Parce que l'effet n'est pas grand. . Vous ne pouvez tout simplement pas obtenir ce que vous voulez. . . Bien. . . amer. . . .