php使用domdocument读取xml文件
使用domdocument读取xml文件需要用到以下几个方法和属性:
方法:
1:读取xml文件:load()
2:获取标签的对象数组:getElementByTagName()
3:对象数组的索引:item()
属性:
1:获取属性或节点的文本:nodeValue
2:获取属性名或者节点名:nodeName
2:获取该节点的子节点集合:childNodes
3:获取该节点的属性集合:attributes
实例xml文件(a.xml):
<?xml version="1.0 encoding="UTF-8"?>
<people nation="汉族" city="火星">
<xiaohua college="qinghua">
<name>小华</name>
<age>12</age>
<sex>男</sex>
</xiaohua>
<xiaoming college="beida">
<name>小明</name>
<age>15</age>
<sex>男</sex>
</xiaoming>
<xiaoqiang college="jiaotong">
<name>小强</name>
<age>13</age>
<sex>男</sex>
</xiaoqiang>
</people>
php使用domdocument操作xml文件
<?php
$dom = new DomDocument();
$dom->load(a.xml);
$people = $dom->getElementByTagName('people');//获取people的节点数组
$people->item(0);//获取第一个people节点
$people->item(0)->childNodes;//获取第一个people节点的所有子节点
$people->item(0)->attributes;//获取第一个people节点的所有属性
$people->item(0)->childNodes->item(0);//获取第一个people节点的第一个节点,即xiaohua节点
$people->item(0)->attributes->item(0);//获取第一个people节点的第一个属性,即nation属性。
$people->item(0)->childNodes->item(0)->childNodes->item(0);//获取第一个people节点的第一个节点里的name节点
echo $people->item(0)->attributes->item(0)->nodeName;//输出字符串:nation
echo $people->item(0)->attributes->item(0)->nodeValue//输出字符串:汉族
echo $people->item(0)->childNodes->item(0)->childNodes->item(0)->nodeName;//输出字符串:name
echo $people->item(0)->childNodes->item(0)->childNodes->item(0)->nodeValue;//输出字符串:小华 foreach($people->item(0)->attributes as $key => $value){//遍历节点
echo $key;//第一次输出字符串:nation,第二次输出字符串:city
echo $value->nodeValue;//第一次输出字符串:汉族,第二次输出字符串:火星
}
php使用domdocument读取xml文件的更多相关文章
- IE下JS读取xml文件示例代码
JS读取xml文件具体步骤为:创建DOM对象.加载xml文件(仅适用于IE)附示例代码,感兴趣的朋友可以参考下,希望对大家有所帮助使用javascript脚本读取xml文件,这里暂只考虑IE浏览器st ...
- JScript读取XML文件
作者:朱金灿 来源:http://blog.csdn.net/clever101 JScript读取XML文件需要考虑msxml组件的多个版本,稳妥的做法是将所有版本都列出来. xml文件的内容如下: ...
- C#中常用的几种读取XML文件的方法
1.C#中常用的几种读取XML文件的方法:http://blog.csdn.net/tiemufeng1122/article/details/6723764/
- 读取xml文件报错:Invalid byte 2 of 2-byte UTF-8 sequence。
程序读取xml文件后,系统报“Invalid byte 2 of 2-byte UTF-8 sequence”错误,如何解决呢? 1.程序解析xml的时候,出现Invalid byte 2 of 2- ...
- C#读取XML文件的基类实现
刚到新单位,学习他们的源代码,代码里读写系统配置文件的XML代码比较老套,直接写在一个系统配置类里,没有进行类的拆分,造成类很庞大,同时,操作XML的读写操作都是使用SetAttribute和node ...
- C#读取XML文件的方法
先写一个xml文件: <?xml version="1.0" encoding="utf-8" ?> <bookste> <!-- ...
- Spring相关:jdom学习:读取xml文件
云课堂马士兵的spring2.5课程中提到的 用JDOM读取XML文件需先用org.jdom.input.SAXBuilder对象的build()方法创建Document对象,然后用Document类 ...
- 在C#中创建和读取XML文件
1.创建简单的XML文件 为了便于测试,我们首先创建控制台应用程序,项目命名为CreateXml,Program.cs代码如下: 这样会在C盘根目录下创建data2.xml文件,文件内容为 using ...
- Java获取路径方法&相对路径读取xml文件方法
(1).request.getRealPath("/");//不推荐使用获取工程的根路径 (2).request.getRealPath(request.getRequestURI ...
随机推荐
- 关于Clone 的方法使用
package cn.hncu.day7.clone.v1;//克隆的套路:// 第1步:重写User类的clone()方法,以供外面调用.因为外面的类无法直接调用User类父类中的clone()方法 ...
- 从源码角度深入理解Handler
为了获得良好的用户体验,Android不允许开发者在UI线程中调用耗时操作,否则会报ANR异常,很多时候,比如我们要去网络请求数据,或者遍历本地文件夹都需要我们在新线程中来完成,新线程中不能更新UI, ...
- SDWebImage 源码阅读分享
SDWebImage 源码阅读分享 疑问列表 SDWebImage 整体框架图,主要的类包含哪些 SDWebImage 如何进行缓存管理,过期失效策略,缓存更新 SDWebImage 如何多线程处理的 ...
- HDU 5637 Transform
题意: 有两种变换: 1. 改变此数二进制的某一位(1变成0 或者 0变成1) 2. 让它与给出的n个数当中的任意一个做异或运算 给你两个数s, t,求从s到t最少要经过几步变换,一共m组查询思路: ...
- web前端开发中的浏览器兼容性总结
1.居中问题 div里的内容,IE默认为居中,而FF默认为左对齐,可以尝试增加代码margin: 0 auto; 2.高度问题 两上下排列或嵌套的div,上面的div设置高度(height),如果di ...
- php字符串函数(1)
下面去学习一下php的字符串函数,那么怎么去看手册呢,举个例子 int strcasecmp ( string $str1 , string $str2 ) 第一个int,表示此函数返回的类型是int ...
- JavaScript实现多栏目切换效果
效果: 代码: <!doctype html> <html> <head> <meta http-equiv="Content-Type" ...
- 如何写robots.txt?
robin 发表在 八月 2, 2006 在国内,网站管理者似乎对robots.txt并没有引起多大重视,应一些朋友之请求,今天想通过这篇文章来简单谈一下robots.txt的写作. robots.t ...
- 查看alter错误,grep -A,-B,-C的妙用
alert 日志记录了数据库的很多重要信息,要养成时常检查alert日志的习惯,但如果日志很大vi打开翻来覆去找着麻烦,怎么做的可以查错呢? 看我的测试 [oracle@ahjcyl-db bdump ...
- Java 去除utf-8类型的空格的方法
问题产生 最近遇到一个这样的问题,在生成的报文中,某个字段信息后面有一个空格,在代码中trim()下,它仍然存在.到底什么原因呢? 问题的根源 经过多番查证,是由于utf-8中的特俗字符造成的. 问题 ...