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教程孙仲岳主讲
Jan 07 PHP
PHP提取字符串中的图片地址[正则表达式]
Nov 12 PHP
php防注入,表单提交值转义的实现详解
Jun 10 PHP
解析PHP的session过期设置
Jun 29 PHP
使用php伪造referer的方法 利用referer防止图片盗链
Jan 20 PHP
windwos下使用php连接oracle数据库的过程分享
May 26 PHP
PHP判断一个gif图片是否为动态图片的方法
Nov 19 PHP
php筛选不存在的图片资源
Apr 28 PHP
PHP测试成功的邮件发送案例
Oct 26 PHP
PHP实现的曲线统计图表示例
Nov 10 PHP
php+iframe 实现上传文件功能示例
Mar 04 PHP
Yii 框架入口脚本示例分析
May 19 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
今天你说520了吗?不仅有php表白书还有java表白神器
2016/05/20 PHP
php实现的数组转xml案例分析
2019/09/28 PHP
CSS JavaScript 实现菜单功能 改进版
2008/12/09 Javascript
远离JS灾难css灾难之 js私有函数和css选择器作为容器
2011/12/11 Javascript
js的表单操作 简单计算器
2011/12/29 Javascript
jQuery 淡出一个图像到另一个图像的实现代码
2013/06/12 Javascript
用js代码和插件实现wordpress雪花飘落效果的四种方法
2014/12/15 Javascript
jQuery 中DOM 操作详解
2015/01/13 Javascript
jquery中animate的stop()方法作用实例分析
2015/01/30 Javascript
简介JavaScript中toUpperCase()方法的使用
2015/06/06 Javascript
超详细的javascript数组方法汇总
2015/11/21 Javascript
ES6下React组件的写法示例代码
2017/05/04 Javascript
详解在WebStorm中添加Vue.js单文件组件的高亮及语法支持
2017/10/21 Javascript
JS实现不用中间变量temp 实现两个变量值得交换方法
2018/02/04 Javascript
利用adb shell和node.js实现抖音自动抢红包功能(推荐)
2018/02/22 Javascript
原生JS实现列表子元素顺序反转的方法分析
2018/07/02 Javascript
JavaScript事件发布/订阅模式原理与用法分析
2018/08/21 Javascript
小程序实现选择题选择效果
2018/11/04 Javascript
vue.js循环radio的实例
2019/11/07 Javascript
js实现的在本地预览图片功能示例
2019/11/09 Javascript
加速vue组件渲染之性能优化
2020/04/09 Javascript
Python实现从url中提取域名的几种方法
2014/09/26 Python
Python实现的HMacMD5加密算法示例
2018/04/03 Python
python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现
2018/06/11 Python
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
2019/03/18 Python
python、Matlab求定积分的实现
2019/11/20 Python
Python基于xlutils修改表格内容过程解析
2020/07/28 Python
python logging 重复写日志问题解决办法详解
2020/08/04 Python
termux中matplotlib无法显示中文问题的解决方法
2021/01/11 Python
iHerb俄罗斯:维生素、补品和天然产品
2020/07/09 全球购物
Nobody Denim官网:购买高级女士牛仔裤
2021/03/15 全球购物
北京RT科技有限公司.net工程师面试题
2013/02/15 面试题
打架检讨书100字
2014/01/19 职场文书
2015年医德医风工作总结
2015/04/02 职场文书
思想工作总结范文
2015/08/12 职场文书
PHP面试题 wakeup魔法 Ezpop pop序列化与反序列化
2022/04/11 PHP