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中的类-什么叫类
Nov 20 PHP
mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法
Mar 15 PHP
PHP Memcached + APC + 文件缓存封装实现代码
Mar 11 PHP
php 格式化数字的时候注意数字的范围
Apr 13 PHP
PHP中strtotime函数使用方法分享
Jan 10 PHP
php中大括号作用介绍
Mar 22 PHP
phpstrom使用xdebug配置方法
Dec 17 PHP
php实现统计网站在线人数的方法
May 12 PHP
WordPress中查询文章的循环Loop结构及用法分析
Dec 17 PHP
Zend Framework教程之Zend_Form组件实现表单提交并显示错误提示的方法
Mar 21 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
Sep 16 PHP
php strftime函数获取日期时间(switch用法)
May 16 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
JS 显示当前日期与时间的代码
2010/03/24 Javascript
解析offsetHeight,clientHeight,scrollHeight之间的区别
2013/11/20 Javascript
javascript自定义的addClass()方法
2014/05/28 Javascript
Node.js与Sails ~项目结构与Mvc实现及日志机制
2015/10/14 Javascript
jQuery基于BootStrap样式实现无限极地区联动
2016/08/26 Javascript
javascript 动态样式添加的简单实现
2016/10/11 Javascript
jQuery序列化表单成对象的简单实现
2016/11/29 Javascript
jQuery图片瀑布流的简单实现代码
2017/03/15 Javascript
JS实现点击链接切换显示隐藏内容的方法
2017/10/19 Javascript
webpack中CommonsChunkPlugin详细教程(小结)
2017/11/09 Javascript
node微信开发之获取access_token+自定义菜单
2019/03/17 Javascript
小程序实现自定义导航栏适配完美版
2019/04/02 Javascript
JS+CSS3实现的简易钟表效果示例
2019/04/13 Javascript
手把手15分钟搭一个企业级脚手架
2019/09/16 Javascript
JavaScript中的惰性载入函数及优势
2020/02/18 Javascript
使用React-Router实现前端路由鉴权的示例代码
2020/07/26 Javascript
[03:18]DOTA2亚洲邀请赛小组赛第一日 RECAP赛事回顾
2015/01/30 DOTA
Python中比较特别的除法运算和幂运算介绍
2015/04/05 Python
Python实现读取TXT文件数据并存进内置数据库SQLite3的方法
2017/08/08 Python
Python基于numpy灵活定义神经网络结构的方法
2017/08/19 Python
Python多进程multiprocessing.Pool类详解
2018/04/27 Python
解决python大批量读写.doc文件的问题
2018/05/08 Python
Python使用matplotlib实现基础绘图功能示例
2018/07/03 Python
Python OpenCV利用笔记本摄像头实现人脸检测
2020/08/20 Python
解决Python中pandas读取*.csv文件出现编码问题
2019/07/12 Python
Python多进程multiprocessing、进程池用法实例分析
2020/03/24 Python
Python 跨.py文件调用自定义函数说明
2020/06/01 Python
新手学python应该下哪个版本
2020/06/11 Python
捷克汽车配件和工具销售网站:TorriaCars
2018/02/26 全球购物
俄罗斯购买剧院和演唱会门票网站:Parter.ru
2019/11/09 全球购物
大专生自我鉴定范文
2013/10/01 职场文书
有趣的广告词
2014/03/18 职场文书
党员个人党性分析材料
2014/12/18 职场文书
《棉鞋里的阳光》教学反思
2016/02/20 职场文书
python通过opencv调用摄像头操作实例分析
2021/06/07 Python
JavaScript 与 TypeScript之间的联系
2021/11/27 Javascript