使用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. 5 Ways to Use Log Data to Analyze System Performance--reference

    Recently we looked across some of the most common behaviors that our community of 25,000 users looke ...

  2. 【Android】数据库的简单应用——增删改查的操作

    还记得getReadableDatabase()和getWritableDatabase()方法吧?在调用它们的时候会返回一个SQLiteDatabase对象,借助这个对象就可以进行CURD(Crea ...

  3. 理解FTP协议

    为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/ShiJiaqi. http://www.cnblogs.com/shijiaqi1066/p/5186117. ...

  4. eAccelerator介绍

    加速器 eAccelerator是一个自由开放源码php加速器,优化和动态内容缓存,提高了php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除. 它还有对脚本起优化作用,以加 ...

  5. 手机端的表单验证和PC端的不同

    1.手机端:由于页面小的局限性,表单验证从上到下依次进行,如果上一个验证不通过,则给出错误提示,代码中return回去,不必进行下一个的校验: 2.PC端:页面范围大,一般是在表单的后面或者下面,提示 ...

  6. [Json] C#ConvertJson|List转成Json|对象|集合|DataSet|DataTable|DataReader转成Json (转载)

    点击下载 ConvertJson.rar 本类实现了 C#ConvertJson|List转成Json|对象|集合|DataSet|DataTable|DataReader转成Json|等功能大家先预 ...

  7. 三步走起 提升 iOS 审核通过率 下篇

    根据2015年的数据统计情况,并结合<苹果应用商店审核指南>,互娱 iOS 预审组通过细分将预审工作划为3大模块:客户端资源检查.应用内容检查和提审资源检查. 在上一篇文章中,Bugly ...

  8. jQuery noConflict() 方法

    如何在页面上同时使用 jQuery 和其他框架? jQuery 和其他 JavaScript 框架 正如您已经了解到的,jQuery 使用 $ 符号作为 jQuery 的简写. 如果其他 JavaSc ...

  9. Spring回顾

    1.IOC和DI IOC:Inversion of Control(控制反转)是一个重要的面对对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心. IOC理解:将组件对象的控 ...

  10. linux服务端的网络编程

    常见的Linux服务端的开发模型有多进程.多线程和IO复用,即select.poll和epoll三种方式,其中现在广泛使用的IO模型主要epoll,关于该模型的性能相较于select和poll要好不少 ...