首页 > 编程 > PHP > 正文

php中simplexml_load_file函数用法实例

2020-03-22 18:20:22
字体:
来源:转载
供稿:网友
本文实例讲述了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教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表