Dieses Zeug beschäftigt mich den ganzen Tag. . . Aber am Ende stellte ich fest, dass ich nicht den Effekt erzielen konnte, den ich mir vorgestellt hatte. . . Schade. . . Es scheint, dass PHP für XML gestärkt werden muss. . . Falls jemand hierzu Nachforschungen angestellt hat. Willkommen zum Schreiben und Diskutieren. . .
Erstellen Sie zunächst die Tabelle:
TABELLEBÜCHER ERSTELLEN (
bookid int(4) NOT NULL auto_increment,
Buchname varchar(100) NICHT NULL,
bookauth varchar(50) NICHT NULL,
bookpublisher varchar(50) NOT NULL,
bookpubdate datetime NICHT NULL,
bookurl varchar(50) NOT NULL,
SCHLÜSSEL Buch-ID (Buch-ID),
);
Dann. . . Dieser Abschnitt ist der Quellcode zum Abrufen von Daten aus MYSQL und deren Konvertierung in XML:
<?
$connect_id=mysql_connect("localhost","root","");
mysql_select_db("bbs",$connect_id);
$query="select * from book order by bookid";
$rs=mysql_query($query,$connect_id);
$numfields=mysql_num_fields($rs);
$XMLfile="<?XML version="1.0"kodierung="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 .
}
}
mysql_free_result($rs);
mysql_close($connect_id);
$XMLfile.="</books>n";
$fp=fopen("XMLdoc/XMLdoc.XML","w");
if(fwrite($fp,$XMLfile)){
echo „Schreiben in die Datei erfolgreich!“;
}
anders{
echo „Datei konnte nicht geschrieben werden!“;
}
?>
Dieser Abschnitt ist der Quellcode, der Daten aus XML abruft und in HTML konvertiert. . .
<?
Klasse 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");
}
Funktion 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 .
}
anders{
switch ((XML_get_current_line_number($parser)-2)%6){
Fall 0:
echo "<tr><td>Download<td>";
brechen;
Fall 1:
echo "<tr><td>ID-Nummer<td>";
brechen;
Fall 2:
echo "<tr><td>Buchtitel<td>";
brechen;
Fall 3:
echo "<tr><td>Autor<td>";
brechen;
Fall 4:
echo "<tr><td>Verlag<td>";
brechen;
Fall 5:
echo "<tr><td>Veröffentlichungsdatum<td>";
brechen;
}
}
}
Funktion 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>Buchinformationen</title></head>
<Körper>
<table border="0" cellpacing="1" cellpadding="2" width="80%" bgcolor="#b0d8fF" align="center">
<?
$XML_parser->parse($XMLdata);
?>
</table>
Tatsächlich sollten Sie es sehen können. . Dieses Beispiel ist ein Fehlschlag. . . Denn der Effekt ist nicht groß. . Sie können einfach nicht bekommen, was Sie wollen. . . Also. . . bitter. . . .