xml是一种严格的文档格式,有其自身的标准,解析xml,也有其标准,叫DOM标准。所有的xml、html都遵循DOM标准。

无论php,java,c,js,解析DOM树都遵循同样的DOM标准。

使用php的DOM对象来解析xml的步骤把xml文件读取过来,形成一个xml文档对象。

再通过getElementsByTagName(“标签名”),来获取一组相应的节点对象。

再把第二步中获取的一组对象拿过来,取出其中一个,就可以得到具体的节点对象的值了。

使用php的DOM对象来解析xml的例子

首先创建一个xml文档1.xml。<?xml  version="1.0" encoding="UTF-8"?>

yyj1

21

yyj2

21

男2

yyj3

50

男3

男3

yyj4

31

男3

a

b

然后再创建一个php文件1.php

//创建DOM对象

$dom=new DOMDocument('1.0','utf-8');

//print_r($dom);

//载入XML文档进行分析

$dom->load('./2015-12-22.xml');

//得到节点列表

$name_list=$dom->getElementsByTagName('name');

//print_r($name_list);因为节点列表很多,得到的是节点列表对象

/*DOMNodelist

* 1.有一个属性:length 代表取得的节点数量

* 2。有一个方法:item(N) 代表取得第N各节点

*/

echo '我们得到了'.$name_list->length.'个学生名字
';

//获得第一个学生名字的节点对象  $name_list->item(0);

/*DOMElement

* 1.有一个属性:length 代表取得的节点数量

* 2。有一个方法:item(N) 代表取得第N各节点

*/

$name0=$name_list->item(2);

//print_r($name0->childNodes);//打印结果又是一个节点列表对象

echo $name0->childNodes->length.'
';//打印得出节点个数

$text=$name0->childNodes->item(0);//获得文本节点

//print_r($text);

echo $text->wholeText.'
';//获得文本节点的值

//简化为

$name=$dom->getElementsByTagName('name')->item(0)->childNodes->item(0)->wholeText;

echo $name.'
';

$name1=$dom->getElementsByTagName('name')->item(3)->nodeValue;

echo $name1.'
';

?>

运行结果我们得到了6个学生名字

1

yyj3

yyj1

yyj4

php dom xml解析,PHP使用DOM解析XML相关推荐

  1. 使用JAXP对xml文档进行DOM解析基础

    XML解析方式分为两种:dom和sax         dom:(Document Object Model, 即文档对象模型) 是 W3C 组织推荐的处理 XML 的一种方式.        sax ...

  2. 10. 解析XML文件(SAX/DOM/ElementTre)

    XML的全称是eXtensible Markup Language, 意为可扩展的标记语言, 是一种用于标记电子文件使其具有结构性的标记语言.以XML结构存储数据的文件就是XML文件,它被设计用来传输 ...

  3. Android中三种常用解析XML的方式(DOM、SAX、PULL)简介及区别

    XML在各种开发中都广泛应用,Android也不例外.作为承载数据的一个重要角色,如何读写XML成为Android开发中一项重要的技能.今天就由我向大家介绍一下在Android平台下几种常见的XML解 ...

  4. XML解析技术,DOM和SAX以及STAX的区别

    XML解析技术 DOM技术:文档对象模型,需要将整个XML加入内存才能解析,占用内存比较多 SAX技术:一边加载,一边解析,一边释放内存,比较节省内存,基于推模式 STAX技术:一种至于流的技术,和S ...

  5. java dom xml 换行,dom4j解析xml文件_用DOM解析XML文件,怎么才能让解析出来的文本不用换行_dom解析xml文件...

    网友求助:dom4j解析xml文件_用DOM解析XML文件,怎么才能让解析出来的文本不用换行_dom解析xml文件 问题importjava.text.SimpleDateFormat; import ...

  6. Andorid中使用Jsoup解析库解析XML、HTML、Dom节点---第三方库学习笔记(三)

    XML介绍: XML简介: XML,可扩展标记语言,标准通用标记语言的子集. 一种用于标记电子文件使其具有结构性的标记语言. 它可以用来标记数据.定义数据类型 是一种允许用户对自己的标记语言进行定义的 ...

  7. 使用JAXP对XML文档进行DOM解析

    一.XML解析方式分为两种:dom和sax dom:(Document Object Model,即文档对象模型)是W3C组织推荐的解析XML的一种方式. sax:(Simple API for XM ...

  8. xml文件的三种解析方式 DOM SAM PULL

    <?xml version="1.0" encoding="UTF-8"?> <root><student id="1& ...

  9. XML数据解析-SAX和DOM

    XML:Extensible Markup language(可扩展标记语言),主流数据格式之一,可以用来存储和传输数据. StudentInfo_XML文件: <Students> &l ...

最新文章

  1. Myeclipse8.5配置本地tomcat
  2. 什么是区块链技术?初学者指南
  3. java的知识点32——多线程 并发同步的 性能分析、快乐影院  订票操作
  4. Linux下的Cacti网络管理系统---安装(二)
  5. js模板引擎——art Template
  6. java web登录action_JavaWeb中登陆功能
  7. 页面跳转多种方法(加传参)
  8. 全套学习!mysql命令窗口执行sql文件
  9. excel的mysql语言,Mysql中文乱码及导出sql语句和Excel的相关解决方法
  10. Snabbdom(虚拟dom-9-patchVnode函数)
  11. 2014年国际IT外包10大事件
  12. 纯文字游戏编辑器_重新认识CocosCreator系列之三:立Flag啦,文字游戏编辑器!...
  13. Flutter 本地数据库sqflite实战操作
  14. 另一种活法之——不要总把自己当千里马
  15. LGame-0.3(Android与JavaSE游戏引擎)正式发布,新增SRPG制作模块
  16. matlab受力分析,基于Matlab的多支座蒸压釜的受力分析和强度计算
  17. AUTOSAR Network Wakeup(Can) Configuration
  18. c++写一个函数验证哥德巴赫猜想
  19. $wnd and $doc Calling native JavaScript with JSNI
  20. (3)tesorflow 计算模型复杂度

热门文章

  1. Java DatagramPacket 中的坑
  2. 我们为何总是掉进“杀熟”的圈套?
  3. 机器人也开始怕疼了?科学家开发无需人工干预即可自愈的机器人
  4. 大厂技术文档:Python 基础+爬虫+数据分析+面试经精选
  5. 2020 年微服务领域开源数字化报告发布,阿里扛起微服务大旗
  6. 不来看看这些 VUE 的生命周期钩子函数? | 原力计划
  7. Zoom 是如何击败科技巨头的?
  8. 你值得拥有的 11 个前端开发利器
  9. 每位初级开发都应该知道的六件大事
  10. 58 同城 iOS 客户端组件体积分析与统计实践