php中simplexml_load_file函数用法实例


Posted in PHP onNovember 12, 2014

本文实例讲述了php中simplexml_load_file函数用法。分享给大家供大家参考。具体用法分析如下:

在php中simplexml_load_file() 函数把 XML 文档载入对象中之后我们就可以利用由此函数返回的对象进行相关的操作了,下面我们看几个测试实例.

例子,XML文件代码如下:

<?xml version="1.0" encoding="ISO-8859-1"?>  

<note>

<to>George</to>

<from>John</from>

<heading>Reminder</heading>

<body>Don't forget the meeting!</body>

</note>

PHP 代码如下:
<?php  

if (file_exists('test.xml'))  

{  

  $xml = simplexml_load_file('test.xml');  

  var_dump($xml);  

}  

else  

{  

  exit('Error.');  

}  

?>

 
运行输出结果如下: 
object(SimpleXMLElement)#1 (4) {

  ["to"]=>

  string(6) "George"

  ["from"]=>

  string(4) "John"

  ["heading"]=>

  string(8) "Reminder"

  ["body"]=>

  string(25) "Don't forget the meeting!"

}

假如有一个“iciba.xml”文件,其内容如下:
<?xml version="1.0" encoding="UTF-8"?>  

<dict num="219" id="219" name="219">  

 <key>天空</key>  

 <pos></pos>  

 <acceptation>Array;Array;</acceptation>  

 <sent>  

  <orig>The church tower stood against the sky like a finger pointing towards heaven.</orig>  

  <trans>教堂的尖塔在天空的映衬下宛如指向天空的手指。</trans>  

 </sent>  

 <sent>  

  <orig>A balloon floated across the sky.</orig>  

  <trans>气球飘过天空。</trans>  

 </sent>  

 <sent>  

  <orig>A bolt of lightning lit up the sky.</orig>  

  <trans>(一道)闪电照亮了天空。</trans>  

 </sent>  

 <sent>  

  <orig>A bright moving object appeared in the sky at sunset.</orig>  

  <trans>日落西山时,天空出现了一个移动的发亮物体。</trans>  

 </sent>  

 <sent>  

  <orig>A bright rainbow arched above.</orig>  

  <trans>一弯明亮的彩虹悬挂在天空。</trans>  

 </sent>  

</dict>

在PHP语言中我们可以用以下方法取得我们想要的值: 
<?php  

$xmldata = simplexml_load_file("iciba.xml");  

  

header("Content-Type: text/html; charset=UTF-8");  

print_r($xmldata); //第一部分  

  

$listcount = count($xmldata->sent);  

  

for($i=0;$i<$listcount;$i++){ //第二部分  

 $dictlist = $xmldata->sent[$i];  

 echo "<br />例句:".$dictlist->orig;  

 echo "<br />翻译:".$dictlist->trans;  

}  

?>

“第一部分”将输出: 

SimpleXMLElement Object

(

    [@attributes] => Array

        (

            [num] => 219

            [id] => 219

            [name] => 219

        )
    [key] => 天空

    [pos] => SimpleXMLElement Object

        (

        )
    [acceptation] => Array;Array;

    [sent] => Array

        (

            [0] => SimpleXMLElement Object

                (

                    [orig] => The church tower stood against the sky like a finger pointing towards heaven.

                    [trans] => 教堂的尖塔在天空的映衬下宛如指向天空的手指。

                )
            [1] => SimpleXMLElement Object

                (

                    [orig] => A balloon floated across the sky.

                    [trans] => 气球飘过天空。

                )
            [2] => SimpleXMLElement Object

                (

                    [orig] => A bolt of lightning lit up the sky.

                    [trans] => (一道)闪电照亮了天空。

                )
            [3] => SimpleXMLElement Object

                (

                    [orig] => A bright moving object appeared in the sky at sunset.

                    [trans] => 日落西山时,天空出现了一个移动的发亮物体。

                )
            [4] => SimpleXMLElement Object

                (

                    [orig] => A bright rainbow arched above.

                    [trans] => 一弯明亮的彩虹悬挂在天空。

                )
        )
)

“第二部分”将输出: 

例句:The church tower stood against the sky like a finger pointing towards heaven.

翻译:教堂的尖塔在天空的映衬下宛如指向天空的手指。

例句:A balloon floated across the sky.

翻译:气球飘过天空。

例句:A bolt of lightning lit up the sky.

翻译:(一道)闪电照亮了天空。

例句:A bright moving object appeared in the sky at sunset.

翻译:日落西山时,天空出现了一个移动的发亮物体。

例句:A bright rainbow arched above.

翻译:一弯明亮的彩虹悬挂在天空。

例子,更深入的一个遍历输出生成表格,代码如下:

eader("content-type:text/html; charset=utf-8"); //设置编码  

$xml = simplexml_load_file('a.xml'); //载入xml文件 $lists和xml文件的根节点是一样的  

echo $xml->company."<br>";  

echo $xml->town."<br>id:";  

echo $xml->town['id']."<br>parent:";  

echo $xml->town['parent']."<br>";  

  

echo "<br>循环读取:<br>";  

foreach($xml->user as $users){ //有多个user,取得的是数组,循环输出  

    echo "-------------------<br>";  

    echo "姓名:".$users->name."<br>";  

    echo "编号:".$users->age."<br>";  

    echo "性别:".$users->age['sex']."<br>";  

    echo "序号:".$users->height."<br>";  

}

  

echo "<br>循环读取:<br>";  

foreach($xml->town as $towns){ //有多个user,取得的是数组,循环输出  

    echo "-------------------<br>";  

    echo "id:".$towns['id']."<br>";  

    echo "归属:".$towns['parent']."<br>";  

    echo "地区:".$towns."<br>";  

}

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP中HTTP方式下的Gzip压缩传输方法举偶
Feb 15 PHP
PHP4与PHP5的时间格式问题
Feb 17 PHP
PHP+ajaxfileupload+jcrop插件完美实现头像上传剪裁
Jun 09 PHP
php从数组中随机选择若干不重复元素的方法
Mar 14 PHP
php生成数字字母的验证码图片
Jul 14 PHP
php实现的读取CSV文件函数示例
Feb 07 PHP
在IIS下安装PHP扩展的方法(超简单)
Apr 10 PHP
PHP实现微信对账单处理
Oct 01 PHP
PHP如何防止XSS攻击与XSS攻击原理的讲解
Mar 22 PHP
php web环境和命令行环境下查找php.ini的位置
Jul 17 PHP
PHP与Web页面的交互示例详解一
Aug 04 PHP
php实现图片压缩处理
Sep 09 PHP
php实现的ping端口函数实例
Nov 12 #PHP
PHP实现下载断点续传的方法
Nov 12 #PHP
php格式化日期实例分析
Nov 12 #PHP
PHP中的Streams详细介绍
Nov 12 #PHP
PHP产生不重复随机数的5个方法总结
Nov 12 #PHP
php一行代码获取文件后缀名实例分析
Nov 12 #PHP
php中cookie实现二级域名可访问操作的方法
Nov 11 #PHP
You might like
设置php页面编码的两种方法示例介绍
2014/03/03 PHP
PHP GD库相关图像生成和处理函数小结
2016/09/30 PHP
golang、python、php、c++、c、java、Nodejs性能对比
2017/03/12 NodeJs
Linux基于php-fpm模式的lamp搭建phpmyadmin的方法
2018/10/25 PHP
php源码的安装方法和实例
2019/09/26 PHP
laravel Task Scheduling(任务调度)在windows下的使用详解
2019/10/22 PHP
使用js获取QueryString的方法小结
2010/02/28 Javascript
表格单元格交错着色实现思路及代码
2013/04/01 Javascript
js动态删除div元素基本思路及实现代码
2014/05/08 Javascript
javascript原生和jquery库实现iframe自适应高度和宽度
2014/07/18 Javascript
纯js实现瀑布流布局及ajax动态新增数据
2016/04/07 Javascript
JS函数多个参数默认值指定方法分析
2016/11/28 Javascript
实现单层json按照key字母顺序排序的示例
2017/12/06 Javascript
浅谈关于iview表单验证的问题
2018/09/29 Javascript
Django静态资源URL STATIC_ROOT的配置方法
2014/11/08 Python
基于python的七种经典排序算法(推荐)
2016/12/08 Python
完美解决python中ndarray 默认用科学计数法显示的问题
2018/07/14 Python
Python将8位的图片转为24位的图片实现方法
2018/10/24 Python
对python For 循环的三种遍历方式解析
2019/02/01 Python
python实现udp传输图片功能
2020/03/20 Python
python输出国际象棋棋盘的实例分享
2020/11/26 Python
日本最大的眼镜购物网站:Oh My Glasses
2016/11/13 全球购物
雅诗兰黛旗下专业男士保养领导品牌:Lab Series
2017/05/15 全球购物
送给他或她的礼物:FUN.com
2018/08/17 全球购物
美国领先的低折扣旅行网站:Hotwire
2019/01/19 全球购物
TOWER London官网:鞋子、靴子、运动鞋等
2019/07/14 全球购物
优秀教师事迹简介
2014/02/02 职场文书
乡镇八一建军节活动方案
2014/08/24 职场文书
高中升旗仪式演讲稿
2014/09/09 职场文书
学校总务处领导班子民主生活会对照检查材料思想汇报
2014/09/27 职场文书
县委常委班子对照检查材料思想汇报
2014/09/28 职场文书
2015年企业新年寄语
2014/12/08 职场文书
教你如何使用Python下载B站视频的详细教程
2021/04/29 Python
springboot集成flyway自动创表的详细配置
2021/06/26 Java/Android
Python学习之时间包使用教程详解
2022/03/21 Python
基于docker安装zabbix的详细教程
2022/06/05 Servers