因为当前需要用到XML文件的读写,所以百度了一下,有好几种方法,综合比较,觉得simplexml方法最简单易用,操作很方便,就如他的名字一样。此方法在php5.0以上版本才能使用。
下面是读写使用simplexml操作xml用的方法:
<?php
header("content-type:text/html; charset=utf-8"); //指定PHP使用UTF-8编码
$xml = simplexml_load_file("example.xml"); //读取xml文件
$newxml = $xml->asXML(); //标准化$xml
$fp = fopen("newxml.xml", "w"); //新建xml文件
fwrite($fp, $newxml); //写入-------xml文件
fclose($fp);
?>
list.xml
<?xml version="1.0" encoding="utf-8"?>
<lists>
<company>武汉XXX公司</company>
<user>----
<name>张三</name>
<age>25</age>
<height>172</height>
</user>
<user>
<name>李四</name>
<age>27</age>
<height>176</height>
</user>
<user>
<name>王五</name>
<age>22</age>
<height>168</height>
</user>
</lists>
readxml.php
很简单,首先用simplexml_load_file()函数载入xml文件,
$myxml= simplexml_load_file('config.xml');
然后就可以用$myxml 来访问每个节点了。
$myxml->子节点1->子节点2->子节点3->子节点4-->........
如果某节点不重复,就是唯一的,可以直接输出,
如果某节点是重复的,有多个节点名称一样,则取得的值是一个数组。------
<?php====
echo "php读取XML文件 <br>";
header("content-type:text/html; charset=utf-8"); //设置编码
$lists = simplexml_load_file('list.xml'); //载入xml文件 $lists和xml文件的根节点是一样的
$companyName = $lists->company;=========
echo $companyName; //直接输出
echo "<br>";
foreach($lists->user as $users){ //有多个user,取得的是数组,循环输出
print($users->name);
print($users->age);
print($users->height);
echo "<br>";
}
?>
很简单就输出了xml文件的内容。-