首页 > 代码库 > PHP读写XML文件(一)

PHP读写XML文件(一)

  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 = http://www.mamicode.com/array();>

读取打印后的数据格式:

技术分享

读取组装后的数组中每个元素便是对应数据库中的每一条记录,可以很方便地将读取后的数据插入到数据库中。

 

PHP读写XML文件(一)