程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php中simplexml_load_file函數使用

php中simplexml_load_file函數使用

編輯:關於PHP編程

       例子

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

    $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>";
    }
     

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved