sunkezai 发表于 2015-8-29 14:11:34

PHP读写XMl文件

  因为当前需要用到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文件的内容。-
  
  
页: [1]
查看完整版本: PHP读写XMl文件