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 相关文章推荐
CodeIgniter模板引擎使用实例
Jul 15 PHP
php使用递归计算文件夹大小
Dec 24 PHP
jQuery+PHP实现的掷色子抽奖游戏实例
Jan 04 PHP
php输入数据统一类实例
Feb 23 PHP
PHP批量去除BOM头代码分享
Jun 26 PHP
php验证邮箱和ip地址最简单方法汇总
Oct 30 PHP
Yii使用技巧大汇总
Dec 29 PHP
PHP获取访问页面HTTP状态码的实现代码
Nov 03 PHP
购物车实现的几种方式优缺点对比
May 02 PHP
Laravel框架Request、Response及Session操作示例
May 06 PHP
ThinkPHP5+UEditor图片上传到阿里云对象存储OSS功能示例
Aug 05 PHP
php实现快速对二维数组某一列进行组装的方法小结
Dec 04 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
PHP4(windows版本)中的COM函数
2006/10/09 PHP
PHP APC配置文件2套和参数详解
2014/06/11 PHP
JQuery 入门实例1
2009/06/25 Javascript
QQ空间顶部折页撕开效果示例代码
2014/06/15 Javascript
js实现背景图片感应鼠标变化的方法
2015/02/28 Javascript
jQuery判断checkbox选中状态
2016/05/12 Javascript
JS实现图片上传预览功能
2016/11/21 Javascript
BootStrap Table复选框默认选中功能的实现代码(从数据库获取到对应的状态进行判断是否为选中状态)
2017/07/11 Javascript
Layui table 组件的使用之初始化加载数据、数据刷新表格、传参数
2017/09/11 Javascript
浅谈vue加载优化策略
2019/03/19 Javascript
JavaScript生成一个不重复的ID的方法示例
2019/09/16 Javascript
Vue 实现登录界面验证码功能
2020/01/03 Javascript
小程序如何定位所在城市及发起周边搜索
2020/02/11 Javascript
微信小程序实现点击导航标签滚动定位到对应位置
2020/11/19 Javascript
微信小程序实现首页弹出广告
2020/12/03 Javascript
[47:02]2018DOTA2亚洲邀请赛3月29日 小组赛B组 VP VS paiN
2018/03/30 DOTA
python连接mysql数据库示例(做增删改操作)
2013/12/31 Python
深入理解python中函数传递参数是值传递还是引用传递
2017/11/07 Python
Python continue继续循环用法总结
2018/06/10 Python
通过python的matplotlib包将Tensorflow数据进行可视化的方法
2019/01/09 Python
python针对mysql数据库的连接、查询、更新、删除操作示例
2019/09/11 Python
Python sqlite3查询操作过程解析
2020/02/20 Python
python 动态绘制爱心的示例
2020/09/27 Python
HTML5未来发展趋势
2016/02/01 HTML / CSS
使用canvas一步步实现图片打码功能的方法
2019/06/17 HTML / CSS
中国首家奢侈品O2O网购平台:第五大道奢侈品网
2017/12/14 全球购物
美国最大的在线寄售和旧货店:Swap.com
2018/08/27 全球购物
意大利珠宝店:Luxury Zone
2019/01/05 全球购物
社区包粽子活动方案
2014/01/21 职场文书
揠苗助长教学反思
2014/02/04 职场文书
安全标语口号
2014/06/09 职场文书
生产操作工岗位职责
2014/09/16 职场文书
“向国旗敬礼”活动策划方案(4篇)
2014/09/27 职场文书
大学生社会服务心得体会
2016/01/22 职场文书
详解JS ES6编码规范
2021/05/07 Javascript
Python中 range | np.arange | np.linspace三者的区别
2022/03/22 Python