标签:substr mysql 2.0 四种 local 数据库 [] erro 技术分享
PHP读写XML文件的方法有四种,从本文开始将连续使用四篇博文来分别介绍这四种方法。本文介绍的是第一种方法:
使用字符串操作的方式来对XML文件进行读写操作。
一、PHP字符串方式写XML文件:
首先介绍PHP使用字符串方式写XML文件。本例将读取数据库中的数据,输出为XML文件。
数据库数据如下:

读取数据并写入XML文件代码:
<?php
/**
* function:使用字符串方式写XML文件
* author:JetWu
* date:2016.12.03
**/
$mysqli = mysqli_connect(‘localhost‘, ‘root‘, ‘123456‘, ‘wjt‘);
if(mysqli_connect_errno()) die(‘database connect fail:‘ . mysqli_connect_error());
$sql = ‘select * from study order by starttime‘;
$res = mysqli_query($mysqli, $sql);
$study = array();
while($row = mysqli_fetch_array($res)) {
$study[] = $row;
}
$str = "<studentcareer>\n";
foreach($study as $v) {
$str .= "\t<period>\n";
$str .= "\t\t<starttime>" . $v[‘starttime‘] . "</starttime>\n";
$str .= "\t\t<endtime>" . $v[‘endtime‘] . "</endtime>\n";
$str .= "\t\t<school>" . $v[‘school‘] . "</school>\n";
$str .= "\t</period>\n";
}
$str .= ‘</studentcareer>‘;
$file = ‘./write_str.xml‘;
file_put_contents($file, $str);
echo ‘success!‘;
输出XML文件:
<studentcareer> <period> <starttime>2000</starttime> <endtime>2002</endtime> <school>培新小学</school> </period> <period> <starttime>2002</starttime> <endtime>2006</endtime> <school>览表东阳学校</school> </period> <period> <starttime>2006</starttime> <endtime>2009</endtime> <school>惠来慈云实验中学</school> </period> <period> <starttime>2009</starttime> <endtime>2012</endtime> <school>惠来一中</school> </period> <period> <starttime>2012</starttime> <endtime>2016</endtime> <school>华南师范大学</school> </period> </studentcareer>
二、PHP字符串方式读XML文件
接下来介绍使用字符串方式读取上一步生成的XML文件,并提取、组装数据。
代码:
<?php
/**
* function:使用字符串方式写XML文件
* author:JetWu
* date:2016.12.03
**/
$file = ‘./write_str.xml‘;
$con = file_get_contents($file);
//XML标签配置
$xmlTag = array(
‘starttime‘,
‘endtime‘,
‘school‘
);
$arr = array();
foreach($xmlTag as $x) {
preg_match_all("/<".$x.">.*<\/".$x.">/", $con, $temp);
$arr[] = $temp[0];
}
//去除XML标签并组装数据
$data = array();
foreach($arr as $key => $value) {
foreach($value as $k => $v) {
$a = explode($xmlTag[$key].‘>‘, $v);
$v = substr($a[1], 0, strlen($a[1])-2);
$data[$k][$xmlTag[$key]] = $v;
}
}
echo ‘<pre>‘;
print_r($data);
读取打印后的数据格式:

读取组装后的数组中每个元素便是对应数据库中的每一条记录,可以很方便地将读取后的数据插入到数据库中。
标签:substr mysql 2.0 四种 local 数据库 [] erro 技术分享
原文地址:http://www.cnblogs.com/wujuntian/p/6128297.html