simplexml_load_file函数怎么在php中使用
创始人
2024-12-13 01:40:45
0次

在php中simplexml_load_file() 函数把 XML 文档载入对象中之后我们就可以利用由此函数返回的对象进行相关的操作了,下面我们看几个测试实例.

例子,XML文件代码如下:

复制代码 代码如下:

 

George
John
Reminder
Don't forget the meeting!


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”文件,其内容如下:

复制代码 代码如下:

 
 
 天空 
  
 Array;Array; 
  
  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. 
  一弯明亮的彩虹悬挂在天空。 
 
 


在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 "
例句:".$dictlist->orig; 
 echo "
翻译:".$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."
"; 
echo $xml->town."
id:"; 
echo $xml->town['id']."
parent:"; 
echo $xml->town['parent']."
"; 
 
echo "
循环读取:
"; 
foreach($xml->user as $users){ //有多个user,取得的是数组,循环输出 
    echo "-------------------
"; 
    echo "姓名:".$users->name."
"; 
    echo "编号:".$users->age."
"; 
    echo "性别:".$users->age['sex']."
"; 
    echo "序号:".$users->height."
"; 
}
 
echo "
循环读取:
"; 
foreach($xml->town as $towns){ //有多个user,取得的是数组,循环输出 
    echo "-------------------
"; 
    echo "id:".$towns['id']."
"; 
    echo "归属:".$towns['parent']."
"; 
    echo "地区:".$towns."
"; 
}

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...