PHP操作XML文件学习笔记
程序员文章站
2024-02-09 09:02:40
...
对于XML的操作包括遍历,生成,修改,删除等其他类似的操作。PHP对于XML的操作方式很多,这次学习的是通过DOMDocument进行操作,其他的操作方法可以参考 http://www.oschina.net/code/snippet_110138_4727 1.对XML文件的遍历 通过DOMDocument对于XML文件的操
对于XML的操作包括遍历,生成,修改,删除等其他类似的操作。PHP对于XML的操作方式很多,这次学习的是通过DOMDocument进行操作,其他的操作方法可以参考
http://www.oschina.net/code/snippet_110138_4727
1.对XML文件的遍历
通过DOMDocument对于XML文件的操作的方法:首先要实例化一个DOMDocument类的对象,然后引入要操作的XML文件。即:
1 $doc = new DOMDocument(); 2 $doc->load("test.xml");
xml version="1.0" encoding="utf-8" ?> school> student> name>张三name> sex>男sex> age>19age> student> student> name>李四name> sex>女sex> age>18age> student> student> name>王五name> sex>男sex> age>19age> student> school>
1 $content = $doc->getElementsByTagName("student"); 2 foreach($content as $value){ 3 echo $value->nodeValue."
"; 4 }
注意:在遍历XML文件的时候,要注意的一个问题就是编码的问题,如果xml文件的encoding为"utf-8",那么xml文件的文件编码也必须是utf-8,可以通过文本编辑器将文件另存为和xml的encoding相同的文件编码即可。否则在遍历的时候会报错或者出现乱码。
2.生成XML文件
在生成XML文件的时候,是通过DOMDocument类中的方法来创建各个节点和节点内容的。我通过查询数据库,并将数据库中的信息生成XML文件方法如下:
1 include "database.php"; //导入连接数据库文件 2 $query = mysql_query("SELECT * FROM test"); 3 4 //操作xml准备 5 $doc = new DOMDocument("1.0","utf-8"); 6 7 //通过createElement方法为xml文件创建节点 8 //创建根节点 9 $school= $doc->createElement("school"); 10 //11 //将根节点添加到xml文件中 12 $doc->appendChild($school); 13 14 //创建student节点 15 $student= $doc->createElement("student"); 16 //将student节点添加到school节点下 17 $school->appendChild($student); 18 19 $nameinfo = array(); // 20 $sexinfo = array(); // 21 $ageinfo = array(); // 22 $idinfo = array(); //对应xml文件中属性id的值 23 $i = 0; //控制变量i 24 25 while($row=mysql_fetch_array($query)){ 26 //27 //查询数据库信息并赋值给相应的数组 28 $nameinfo[$i] = $doc->createTextNode($row["name"]); 29 $sexinfo[$i] = $doc->createTextNode($row["sex"]); 30 $ageinfo[$i] = $doc->createTextNode($row["age"]); 31 $idinfo[$i] = $doc->createTextNode($i); 32 $i++; 33 } 34 35 for($i=0;$icount