使用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. CentOS远程系统管理之VNC

    写这篇有摘自他人的地方,如若侵犯请立即告知,第一时间下降!! 现在比较好用的用的广泛的是SSH和PUTTY,通过这些客户端来管理LINUX服务器的,下面主要介绍另一款VNC软件,主要由两个部分组成:V ...

  2. PureMVC(JS版)源码解析(七):Mediator类

    之前的博文中,我们分析了SimpleCommand类和MacroCommand类,这两个类用作"业务逻辑(business logic)"处理,今天,我们讲一些和UI界面相关联的M ...

  3. hdu2044java递推

    一只小蜜蜂... Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Su ...

  4. Grant-Permission.ps1

    Grant-Permission.ps1 Download the EXE version of SetACL 3.0.6 for 32-bit and 64-bit Windows. Put set ...

  5. CentOS隐藏nginx版本号

    在/usr/local/nginx/conf/目录中,修改nginx.conf文件 在http {  }段中加入 http { server_tokens off; }

  6. springMVC+freemarker中Could not resolve view with name... 问题解决

    用到springMVC+freemarker,自己在做demo过程中报: 严重: Servlet.service() for servlet springmvc threw exception jav ...

  7. virtualbox 安装windows系统的一些问题

    今天总结一下,使用virtualbox安装windows系统的一些问题. 安装的是Ghost的系统,正版系统也可以参考. 首先本人的机器原系统是ubuntu 16.04 LTS x64 1.win7或 ...

  8. 【锋利的jQuery】学习笔记03

    第三章 jQuery中的DOM操作 一.DOM操作的分类 DOM(document object model)是一种与浏览器.平台.语言无关的接口,使用该接口可以访问页面中的·所有组件.DOM的操作可 ...

  9. DataGridView编辑实时生效和索引-1没有值问题

    1. 问题:DataGridView单元格编辑后,只有离开焦点时,编辑的内容才会生效(在绑定的DataSource中生效).  使用 this.dataGridView1.CommitEdit(Dat ...

  10. C#DbHelperMySQL数据库帮助类 (转载)

    主要功能如下数据访问抽象基础类 主要是访问Mysql数据库主要实现如下功能 .得到最大值 .是否存在 .是否存在(基于MySqlParameter) .执行SQL语句,返回影响的记录数 .执行MySq ...