このことは一日中私を悩ませていました。 。 。しかし、結局のところ、私が想像していた効果は得られないことがわかりました。 。 。残念だ。 。 。 XML用にPHPを強化する必要があるようです。 。 。誰かがこれについて研究していたら。議論するために書き込みを歓迎します。 。 。
まずテーブルを作成します。
CREATE TABLE ブック (
bookid int(4) NOT NULL auto_increment、
書籍名 varchar(100) NOT NULL、
bookauth varchar(50) NOT NULL、
bookpublisher varchar(50) NOT NULL、
bookpubdate datetime NOT NULL、
bookurl varchar(50) NOT NULL、
KEY ブック ID (ブック ID)、
);
それから。 。 。このセクションは、MYSQL からデータを取得して XML に変換するためのソース コードです。
<?
$connect_id=mysql_connect("localhost","root","");
mysql_select_db("bbs",$connect_id);
$query="書籍 ID による書籍注文から * を選択";
$rs=mysql_query($query,$connect_id);
$numfields=mysql_num_fields($rs);
$XMLfile="<?XML version="1.0" エンコーディング="GB2312"?>n";
$XMLfile.="<書籍>n";
while($row=mysql_fetch_array($rs)){
for($i=0;$i<$numfields;$i ){
$fieldname=mysql_field_name($rs,$i);
$XMLfile.="<" . $row[$i] . $fieldname ;
}
}
mysql_free_result($rs);
mysql_close($connect_id);
$XMLfile.="</books>n";
$fp=fopen("XMLdoc/XMLdoc.XML","w");
if(fwrite($fp,$XMLfile)){
echo "ファイルへの書き込みに成功しました!";
}
それ以外{
echo "ファイルの書き込みに失敗しました!";
}
?>
このセクションは、XML からデータを取得して HTML に変換するソース コードです。 。 。
<?
クラスXML{
var $parser;
関数 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");
関数
解析($data){
XML_parse($this->parser,$data);
関数 tag_on($parser,$tag,$attributes)
{
if(XML_get_current_line_number($parser)==2){
echo "<tr><tdcolspan="2" align="center">" $tag "</td>;
}
それ以外{
switch ((XML_get_current_line_number($parser)-2)%6){
ケース0:
echo "<tr><td>ダウンロード<td>";
壊す;
ケース1:
echo "<tr><td>ID 番号<td>";
壊す;
ケース 2:
echo "<tr><td>本のタイトル<td>";
壊す;
ケース 3:
echo "<tr><td>作成者<td>";
壊す;
ケース4:
echo "<tr><td>出版社<td>";
壊す;
ケース5:
echo "<tr><td>発行日<td>";
壊す;
}
}
関数 cdata($parser,$cdata)
{
$cdata をエコーします。
関数 tag_off($parser,$tag)
{
エコー「n」;
}
XML_parser
= 新しい XML();
$XMLfilename="XMLdoc/XMLdoc.XML";
$fp=fopen($XMLファイル名,"r");
$XMLdata=fread($fp,filesize($XMLfilename));
?>
<HTML><head><title>書籍情報</title></head>
<本文>
<table border="0" cellpacing="1" cellpadding="2" width="80%" bgcolor="#b0d8fF" align="center">
<?
$XML_parser->parse($XMLdata);
?>
</table>
実際、それを見ることができるはずです。 。この例は失敗です。 。 。効果が大きくないからです。 。ただ欲しいものを手に入れることはできません。 。 。良い。 。 。苦い。 。 。 。