使用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文件的更多相关文章

  1. IE下JS读取xml文件示例代码

    JS读取xml文件具体步骤为:创建DOM对象.加载xml文件(仅适用于IE)附示例代码,感兴趣的朋友可以参考下,希望对大家有所帮助使用javascript脚本读取xml文件,这里暂只考虑IE浏览器st ...

  2. JScript读取XML文件

    作者:朱金灿 来源:http://blog.csdn.net/clever101 JScript读取XML文件需要考虑msxml组件的多个版本,稳妥的做法是将所有版本都列出来. xml文件的内容如下: ...

  3. C#中常用的几种读取XML文件的方法

    1.C#中常用的几种读取XML文件的方法:http://blog.csdn.net/tiemufeng1122/article/details/6723764/

  4. 读取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- ...

  5. C#读取XML文件的基类实现

    刚到新单位,学习他们的源代码,代码里读写系统配置文件的XML代码比较老套,直接写在一个系统配置类里,没有进行类的拆分,造成类很庞大,同时,操作XML的读写操作都是使用SetAttribute和node ...

  6. C#读取XML文件的方法

    先写一个xml文件: <?xml version="1.0" encoding="utf-8" ?> <bookste> <!-- ...

  7. Spring相关:jdom学习:读取xml文件

    云课堂马士兵的spring2.5课程中提到的 用JDOM读取XML文件需先用org.jdom.input.SAXBuilder对象的build()方法创建Document对象,然后用Document类 ...

  8. 在C#中创建和读取XML文件

    1.创建简单的XML文件 为了便于测试,我们首先创建控制台应用程序,项目命名为CreateXml,Program.cs代码如下: 这样会在C盘根目录下创建data2.xml文件,文件内容为 using ...

  9. Java获取路径方法&相对路径读取xml文件方法

    (1).request.getRealPath("/");//不推荐使用获取工程的根路径 (2).request.getRealPath(request.getRequestURI ...

随机推荐

  1. 关于Clone 的方法使用

    package cn.hncu.day7.clone.v1;//克隆的套路:// 第1步:重写User类的clone()方法,以供外面调用.因为外面的类无法直接调用User类父类中的clone()方法 ...

  2. 从源码角度深入理解Handler

    为了获得良好的用户体验,Android不允许开发者在UI线程中调用耗时操作,否则会报ANR异常,很多时候,比如我们要去网络请求数据,或者遍历本地文件夹都需要我们在新线程中来完成,新线程中不能更新UI, ...

  3. SDWebImage 源码阅读分享

    SDWebImage 源码阅读分享 疑问列表 SDWebImage 整体框架图,主要的类包含哪些 SDWebImage 如何进行缓存管理,过期失效策略,缓存更新 SDWebImage 如何多线程处理的 ...

  4. HDU 5637 Transform

    题意: 有两种变换: 1. 改变此数二进制的某一位(1变成0 或者 0变成1) 2. 让它与给出的n个数当中的任意一个做异或运算 给你两个数s, t,求从s到t最少要经过几步变换,一共m组查询思路: ...

  5. web前端开发中的浏览器兼容性总结

    1.居中问题 div里的内容,IE默认为居中,而FF默认为左对齐,可以尝试增加代码margin: 0 auto; 2.高度问题 两上下排列或嵌套的div,上面的div设置高度(height),如果di ...

  6. php字符串函数(1)

    下面去学习一下php的字符串函数,那么怎么去看手册呢,举个例子 int strcasecmp ( string $str1 , string $str2 ) 第一个int,表示此函数返回的类型是int ...

  7. JavaScript实现多栏目切换效果

    效果: 代码: <!doctype html> <html> <head> <meta http-equiv="Content-Type" ...

  8. 如何写robots.txt?

    robin 发表在 八月 2, 2006 在国内,网站管理者似乎对robots.txt并没有引起多大重视,应一些朋友之请求,今天想通过这篇文章来简单谈一下robots.txt的写作. robots.t ...

  9. 查看alter错误,grep -A,-B,-C的妙用

    alert 日志记录了数据库的很多重要信息,要养成时常检查alert日志的习惯,但如果日志很大vi打开翻来覆去找着麻烦,怎么做的可以查错呢? 看我的测试 [oracle@ahjcyl-db bdump ...

  10. Java 去除utf-8类型的空格的方法

    问题产生 最近遇到一个这样的问题,在生成的报文中,某个字段信息后面有一个空格,在代码中trim()下,它仍然存在.到底什么原因呢? 问题的根源 经过多番查证,是由于utf-8中的特俗字符造成的. 问题 ...