香港高速VIP云机房火爆上线啦!无需备案,开通即用!配套《巅云自助建站系统3.0》将带给您飞一般的可视化拖拽建站体验,欢迎免费体验。

php中simplexml_load_file函数用法实例

一佰互联网站制作(www.yinxi.net) 发布日期 2019-04-28 13:46:28 浏览数: 24

本文实例讲述了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开发和域名注册及虚拟主机服务经验,提供的自助建站服务更是全国有名。近年来还整合团队优势自主开发了可视化多用户”巅云建站系统“3.0平台版,拖拽排版网站制作设计,轻松实现pc站、手机微网站、小程序、APP一体化全网营销网站建设 ,已成功的为全国上百家网络公司提供自助建站平台搭建服务。

相关新闻more

09
04月
除了专业过硬,高级设计师都得掌握的5个能力素

我们已经或多或少看过一些优秀作品,也知道了一些设计方法和技巧,了解到了一些相关的理论知识,自己也做过一些项目或者是练习,总体来说都掌握了一定... >>详情

29
04月
php获取301跳转URL简单实例

复制代码 代码如下:/*** get_redirect_url()* Gets the address that the provided ... >>详情

17
05月
高端建站的天然优势-www.yx10011.

window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":... >>详情

15
05月
针对餐饮行业APP开发浅谈APP发展潮流与A

window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":... >>详情

营业执照. cdn加速服务 备案系统认证 网络安全协会 我们的支付方式AAA认证
上海 北京 深圳 广州 天津 杭州 南京 武汉 成都 沈阳 大连 长沙 济南 青岛 苏州 福州 无锡 哈尔滨 宁波 重庆 大庆 厦门 西安 长春 珠海 郑州 海口 昆明 太原 石家庄 温州 合肥 乌鲁木齐 南宁 南通 合肥 兰州 呼和浩特 贵阳 烟台 秦皇岛 包头 唐山 银川 汕头 连云港 威海 西宁 湛江 北海 万州 涪陵 长寿 黔江 永川 丰都 忠县 江津 南川 开县 云阳 万盛 梁平 垫江 巫山 城口 建站宝盒 免费建站 门户网站建设 微信网站 手机网站 门户网站制作

7x24小时服务电话:18581389571 传真:023-85725751 免费建站交流群:236412099 139947842(自助建站交流) E-Mail:post@yinxi.net 网站投诉:
重庆楚捷科技有限公司 一佰互联©版权所有 自助建站(www.yinxi.net,Inc.) 2001-2020 All Rights Reserved 本站程序受法律保护,网站法律顾问:ITLAW-庄毅雄律师
中华人民共和国信息产业部网站备案号:渝ICP备12000592号