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 相关文章推荐
Discuz! Passport 通行证整合
Mar 27 PHP
php array_map array_multisort 高效处理多维数组排序
Jun 11 PHP
浅析PHP 按位与或 (^ 、&amp;)
Jun 21 PHP
解析CI的AJAX分页 另类实现方法
Jun 27 PHP
PHP中4个加速、缓存扩展的区别和选用建议
Mar 12 PHP
ThinkPHP提示错误Fatal error: Allowed memory size的解决方法
Feb 12 PHP
PHP中你应该知道的require()文件包含的正确用法
Jun 12 PHP
PHP内核探索:哈希表碰撞攻击原理
Jul 31 PHP
php利用smtp类实现电子邮件发送
Oct 30 PHP
Zend Framework教程之Resource Autoloading用法实例
Mar 08 PHP
Yii2框架中一些折磨人的坑
Dec 15 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
Feb 22 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
实用函数2
2007/11/08 PHP
fix-ie5.js扩展在IE5下不能使用的几个方法
2007/08/20 Javascript
javascript instanceof 内部机制探析
2010/10/15 Javascript
19个很有用的 JavaScript库推荐
2011/06/27 Javascript
JS 按钮点击触发(兼容IE、火狐)
2013/08/07 Javascript
使用变量动态设置js的属性名
2014/10/19 Javascript
jQuery 中$(this).index与$.each的使用指南
2014/11/20 Javascript
在js中实现邮箱格式的验证方法(推荐)
2016/10/24 Javascript
关于JavaScript中事件绑定的方法总结
2016/10/26 Javascript
浅谈angularjs $http提交数据探索
2017/01/20 Javascript
jQuery实现图片滑动效果
2017/03/08 Javascript
jquery实现的table排序功能示例
2017/03/10 Javascript
微信{"errcode":48001,"errmsg":"api unauthorized, hints: [ req_id: 1QoCla0699ns81 ]"}
2018/10/12 Javascript
Vue3.x源码调试的实现方法
2019/10/13 Javascript
通过高德地图API获得某条道路上的所有坐标用于描绘道路的方法
2020/08/24 Javascript
uni-app使用countdown插件实现倒计时
2020/11/01 Javascript
vuex页面刷新导致数据丢失的解决方案
2020/12/10 Vue.js
Python中的作用域规则详解
2015/01/30 Python
Python3使用turtle绘制超立方体图形示例
2018/06/19 Python
Django实现登录随机验证码的示例代码
2018/06/20 Python
Python实现对字典分别按键(key)和值(value)进行排序的方法分析
2018/12/19 Python
Python机器学习算法库scikit-learn学习之决策树实现方法详解
2019/07/04 Python
Python使用Beautiful Soup爬取豆瓣音乐排行榜过程解析
2019/08/15 Python
Python 等分切分数据及规则命名的实例代码
2019/08/16 Python
在Python中获取操作系统的进程信息
2019/08/27 Python
Python使用ElementTree美化XML格式的操作
2020/03/06 Python
Python实现寻找回文数字过程解析
2020/06/09 Python
python写文件时覆盖原来的实例方法
2020/07/22 Python
python类共享变量操作
2020/09/03 Python
同程旅游英文网站:LY.com
2018/11/13 全球购物
英国的一家创新礼品和小工具零售商:Menkind
2019/08/24 全球购物
捷克街头、运动和滑板一站式商店:BoardStar.cz
2019/10/06 全球购物
前台文员职责范本
2014/03/07 职场文书
个人综合鉴定材料
2014/05/23 职场文书
医院保洁服务方案
2014/06/11 职场文书
影视广告专业求职信
2014/09/02 职场文书