要用php 把XML數(shù)據(jù)導(dǎo)入mysql ,xml里所有的數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了道里免費(fèi)建站歡迎大家使用!
我在php手冊里找了個例子
to import xml into mysql
$file = "article_2_3032005467.xml";
$feed = array();
$key = "";
$info = "";
function startElement($xml_parser, $attrs ) {
global $feed;
}
function endElement($xml_parser, $name) {
global $feed, $info;
$key = $name;
$feed[$key] = $info;
$info = ""; }
function charData($xml_parser, $data ) {
global $info;
$info .= $data; }
$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "charData" );
$fp = fopen($file, "r");
while ($data = fread($fp, 8192))
!xml_parse($xml_parser, $data, feof($fp));
xml_parser_free($xml_parser);
$sql= "INSERT INTO `article` ( `";
$j=0;
$i=count($feed);
foreach( $feed as $assoc_index = $value )
{
$j++;
$sql.= strtolower($assoc_index);
if($i$j) $sql.= "` , `";
if($i =$j) {$sql.= "` ) VALUES ('";}
}
$h=0;
foreach( $feed as $assoc_index = $value )
{
$h++;
$sql.= utf8_decode(trim(addslashes($value)));
if($i-1$h) $sql.= "', '";
if($i =$h) $sql.= "','')";
}
$sql=trim($sql);
echo $sql;
mysql導(dǎo)出的xml文件也是標(biāo)準(zhǔn)的xml文件,根節(jié)點(diǎn)是數(shù)據(jù)庫名,重復(fù)節(jié)點(diǎn)是表名,表名節(jié)點(diǎn)里是字段名和值,用php自身帶的解析xml類來解析xml文件,比如比較好用的simplexml類:
$xmlfile="test.xml";
//比如你的表名是user
$xml=simplexml_load_file($xmlfile);
foreach ($xml-user as $u)
{
$name= $u-name;
$sex= $u-sex;
$pwd= $u-pwd;
mysql_query("insert into user set name='$name',sex='$sex',pwd='$pwd'");
}
這樣就把xml文件插入數(shù)據(jù)庫表里了。
meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"
?php
//腳本永不結(jié)束
set_time_limit(0);
//數(shù)據(jù)庫連接
mysql_connect('host',?'user',?'password');
mysql_select_db('database');
while(true){
//這里不知道你的xml來源,改為你自己的來源,讀入xml變量
$xml?=?'xmlrow?expect="201412345"?opencode="1,2,3,4,5"?opentime="2014-11-11?11:11:11"http://xml';
//解析xml內(nèi)容
$obj?=?simplexml_load_string($xml,?'SimpleXMLElement',?LIBXML_NOCDATA);
$expect?=?$obj-row['expect'];
$opencode?=?$obj-row['opencode'];
$opentime?=?$obj-row['opentime'];
$sql='INSERT?INTO?table?VALUES?(\''.$expect.'\',\''.$opencode.'\',\''.$opentime.'\')';
mysql_query($sql);
//休息60秒
sleep(60);
}
由于php沒有線程概念,這個頁面要運(yùn)行的話,必須維持一個在瀏覽器打開狀態(tài)
這里的代碼只是簡單的示例,具體的邏輯你可以根據(jù)需求自己完善
當(dāng)前標(biāo)題:php把xml當(dāng)成數(shù)據(jù)庫 php xml數(shù)據(jù)庫
文章路徑:http://www.rwnh.cn/article6/ddjcgig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、App開發(fā)、ChatGPT、品牌網(wǎng)站制作、電子商務(wù)、移動網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)