PHP读取XML文件的三种方式
2015-12-24 15:33
609 查看
一 用 simplexml_load_file 读取xml文件<?php $xml_array=simplexml_load_file('person.xml'); //将XML中的数据,读取到数组对象中 foreach($xml_array as $tmp) { echo $tmp->name."-".$tmp->sex."-".$tmp->old."<br>"; } ?> 二 DOMDocument读取xml <?php $doc = new DOMDocument(); $doc->load('xml.xml'); //读取xml文件 $humans = $doc->getElementsByTagName( "humans" ); //取得humans标签的对象数组 foreach( $humans as $human ) { $names = $human->getElementsByTagName( "name" ); //取得name的标签的对象数组 $name = $names->item(0)->nodeValue; //取得node中的值,如<name> </name> $sexs = $human->getElementsByTagName( "sex" ); $sex = $sexs->item(0)->nodeValue; $olds = $human->getElementsByTagName( "old" ); $old = $olds->item(0)->nodeValue; echo "$name - $sex - $old\n"; } 三 利用正则来获取数据 <?php header("content-type:text/html;charset=utf-8"); $xml = ''; $f = fopen("xml.xml", "r"); while($data = fread($f, 2096)) { $xml .= $data; } fclose($f); preg_match_all('/\<humans\>(.*?)\<\/humans\>/s', $xml, $humans); foreach($humans[1] as $human) { preg_match_all('/\<name\>(.*?)\<\/name\>/s', $human, $names); preg_match_all('/\<sex\>(.*?)\<\/sex\>/s', $human, $sexes); preg_match_all('/\<old\>(.*?)\<\/old\>/s', $human, $olds); } foreach($names[1] as $k=>$name) { echo $names[1][$k].'-'.$sexes[1][$k].'-'.$olds[1][$k]."\n"; } |
相关文章推荐
- 74、STP安全配置实验之Root Guard
- 73、STP安全配置实验之BPDU Filtering
- php5中public,private,protected 三种类属性的区别
- PHP环境搭建
- PHP学习笔记
- PHP开发中修改服务器中的编码
- 72、STP安全配置实验之BPDU Guard
- php 读取csv大文件问题
- Jenkins FTP 上传
- php格式化金额函数分享
- windows系统下ftp上传下载和一些常用命令
- windows下ftp命令大全
- php namespace use 命名空间
- Yii框架安全特性
- PHPCMS V9 环境搭建
- 单独安装php的mysql和mysqli扩展
- php计算一个页面执行时间函数写法
- 你必须知道的--PHP编译参数
- Thinkphp中field和getField
- php官方文档