0

0

PHP操作XML文件学习笔记

php中文网

php中文网

发布时间:2016-06-06 19:49:09

|

1667人浏览过

|

来源于php中文网

原创

对于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相同的文件编码即可。否则在遍历的时候会报错或者出现乱码。

立即学习PHP免费学习笔记(深入)”;

  2.生成XML文件

图可丽批量抠图
图可丽批量抠图

用AI技术提高数据生产力,让美好事物更容易被发现

下载

    在生成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;$i<count($nameinfo);$i++){
36     $name = $doc->createElement("name");
37     $sex = $doc->createElement("sex");
38     $age = $doc->createElement("age");
39     //
40     $id = $doc->createAttribute("id");
41 
42     //
43     $student->appendChild($name);
44     $student->appendChild($sex);
45     $student->appendChild($age);
46     $student->appendChild($id);
47     
48     //
49     $name->appendChild($nameinfo[$i]);
50     $sex->appendChild($sexinfo[$i]);
51     $age->appendChild($ageinfo[$i]);
52     $id->appendChild($idinfo[$i]);
53 }
54 
55 //通过save方法将生成的xml文件保存
56 $doc->save("test.xml");

  注意:在生成XML文件的时候同样应该注意编码问题,除了XML文件编码和XML指定编码应当一致以外,在连接数据库的时候还应该注意XML指定的编码应该和数据库的编

  3.XML文件的修改和删除

 1 $doc= new DOMDocument();
 2 $doc->load("test.xml");
 3 
 4 //
 5 $students = $doc->getElementsByTagName("student");
 6 
 7 //遍历$students,将每个student的信息存为$student
 8 foreach($students as $student){
 9     //通过getAttribute获取指定属性的值
10 
11     if($student->getAttribute("id")==2){
12         $content = $doc->getElementsByTagName("name")->item(0)->nodeValue = "Kenticny";
13     }
14     //
15     if($student->getAttribute("id")==1){
16         //17 
18         $student->parentNode->removeChild($student);
19     }
20 
21 }
22 //保存修改的XML文件    
23 $doc->save("test.xml");

  操作。

  

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

php

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Word 字间距调整方法汇总
Word 字间距调整方法汇总

本专题整合了Word字间距调整方法,阅读下面的文章了解更详细操作。

2

2025.12.24

任务管理器教程
任务管理器教程

本专题整合了任务管理器相关教程,阅读下面的文章了解更多详细操作。

2

2025.12.24

AppleID格式
AppleID格式

本专题整合了AppleID相关内容,阅读专题下面的文章了解更多详细教程。

0

2025.12.24

csgo视频观看入口合集
csgo视频观看入口合集

本专题整合了csgo观看入口合集,阅读下面的文章了知道更多入口地址。

29

2025.12.24

yandex外贸入口合集
yandex外贸入口合集

本专题汇总了yandex外贸入口地址,阅读下面的文章了解更多内容。

58

2025.12.24

添加脚注通用方法
添加脚注通用方法

本专题整合了添加脚注方法合集,阅读专题下面的文章了解更多内容。

1

2025.12.24

重启电脑教程汇总
重启电脑教程汇总

本专题整合了重启电脑操作教程,阅读下面的文章了解更多详细教程。

3

2025.12.24

纸张尺寸汇总
纸张尺寸汇总

本专题整合了纸张尺寸相关内容,阅读专题下面的文章了解更多内容。

5

2025.12.24

Java Spring Boot 微服务实战
Java Spring Boot 微服务实战

本专题深入讲解 Java Spring Boot 在微服务架构中的应用,内容涵盖服务注册与发现、REST API开发、配置中心、负载均衡、熔断与限流、日志与监控。通过实际项目案例(如电商订单系统),帮助开发者掌握 从单体应用迁移到高可用微服务系统的完整流程与实战能力。

1

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 7.7万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 6.9万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号