php dom xml解析,PHP使用DOM解析XML
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相关推荐
- 使用JAXP对xml文档进行DOM解析基础
XML解析方式分为两种:dom和sax dom:(Document Object Model, 即文档对象模型) 是 W3C 组织推荐的处理 XML 的一种方式. sax ...
- 10. 解析XML文件(SAX/DOM/ElementTre)
XML的全称是eXtensible Markup Language, 意为可扩展的标记语言, 是一种用于标记电子文件使其具有结构性的标记语言.以XML结构存储数据的文件就是XML文件,它被设计用来传输 ...
- Android中三种常用解析XML的方式(DOM、SAX、PULL)简介及区别
XML在各种开发中都广泛应用,Android也不例外.作为承载数据的一个重要角色,如何读写XML成为Android开发中一项重要的技能.今天就由我向大家介绍一下在Android平台下几种常见的XML解 ...
- XML解析技术,DOM和SAX以及STAX的区别
XML解析技术 DOM技术:文档对象模型,需要将整个XML加入内存才能解析,占用内存比较多 SAX技术:一边加载,一边解析,一边释放内存,比较节省内存,基于推模式 STAX技术:一种至于流的技术,和S ...
- java dom xml 换行,dom4j解析xml文件_用DOM解析XML文件,怎么才能让解析出来的文本不用换行_dom解析xml文件...
网友求助:dom4j解析xml文件_用DOM解析XML文件,怎么才能让解析出来的文本不用换行_dom解析xml文件 问题importjava.text.SimpleDateFormat; import ...
- Andorid中使用Jsoup解析库解析XML、HTML、Dom节点---第三方库学习笔记(三)
XML介绍: XML简介: XML,可扩展标记语言,标准通用标记语言的子集. 一种用于标记电子文件使其具有结构性的标记语言. 它可以用来标记数据.定义数据类型 是一种允许用户对自己的标记语言进行定义的 ...
- 使用JAXP对XML文档进行DOM解析
一.XML解析方式分为两种:dom和sax dom:(Document Object Model,即文档对象模型)是W3C组织推荐的解析XML的一种方式. sax:(Simple API for XM ...
- xml文件的三种解析方式 DOM SAM PULL
<?xml version="1.0" encoding="UTF-8"?> <root><student id="1& ...
- XML数据解析-SAX和DOM
XML:Extensible Markup language(可扩展标记语言),主流数据格式之一,可以用来存储和传输数据. StudentInfo_XML文件: <Students> &l ...
最新文章
- Myeclipse8.5配置本地tomcat
- 什么是区块链技术?初学者指南
- java的知识点32——多线程 并发同步的 性能分析、快乐影院 订票操作
- Linux下的Cacti网络管理系统---安装(二)
- js模板引擎——art Template
- java web登录action_JavaWeb中登陆功能
- 页面跳转多种方法(加传参)
- 全套学习!mysql命令窗口执行sql文件
- excel的mysql语言,Mysql中文乱码及导出sql语句和Excel的相关解决方法
- Snabbdom(虚拟dom-9-patchVnode函数)
- 2014年国际IT外包10大事件
- 纯文字游戏编辑器_重新认识CocosCreator系列之三:立Flag啦,文字游戏编辑器!...
- Flutter 本地数据库sqflite实战操作
- 另一种活法之——不要总把自己当千里马
- LGame-0.3(Android与JavaSE游戏引擎)正式发布,新增SRPG制作模块
- matlab受力分析,基于Matlab的多支座蒸压釜的受力分析和强度计算
- AUTOSAR Network Wakeup(Can) Configuration
- c++写一个函数验证哥德巴赫猜想
- $wnd and $doc Calling native JavaScript with JSNI
- (3)tesorflow 计算模型复杂度