Heim >php教程 >php手册 >php中simplexml_load_file函数使用

php中simplexml_load_file函数使用

WBOY
WBOYOriginal
2016-06-13 09:43:25809Durchsuche

   例子

  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(4) "George"
["from"]=> string(4) "John"
["heading"]=> string(8) "Reminder"
["body"]=> string(29) "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); //第一部分www.111cn.net

$listcount = count($xmldata->sent);

for($i=0;$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."
";
}
 

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn