SimpleXML是在php 5.0之後就是核心組成,所以是不需要額外安裝的。
(所以使用SimpleXML記得要檢查php版本喔!)
做個簡單的小範例,使用臺灣郵局 - 3+2碼郵遞區號XML檔部分資料
這時如果我們只想建立一個陣列,就是City->Area陣列,也就可以取得['台北市'][0] = ['中正區']
以下是範例程式碼
第7行與第8行為什麼要強制轉型成string,則是因為$zip->City取出來的值是物件,所以必須得轉型,否則是無法拿來作為key使用。
輸出結果如下
參考資料:
(所以使用SimpleXML記得要檢查php版本喔!)
做個簡單的小範例,使用臺灣郵局 - 3+2碼郵遞區號XML檔部分資料
1 2 3 4 5 6 7 8 9 | <NewDataSet> <Zip32> <Zip5>10042</Zip5> <City>台北市</City> <Area>中正區</Area> <Road>秀山街</Road> <Scope>全</Scope> </Zip32> </NewDataSet> |
這時如果我們只想建立一個陣列,就是City->Area陣列,也就可以取得['台北市'][0] = ['中正區']
以下是範例程式碼
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php $address = array(); $xml = simplexml_load_file("test.xml"); foreach($xml->children() as $zip){ $city = trim((string)$zip->City); $area = trim((string)$zip->Area); $address[$city] = array($area); } var_dump($address); ?> |
第7行與第8行為什麼要強制轉型成string,則是因為$zip->City取出來的值是物件,所以必須得轉型,否則是無法拿來作為key使用。
輸出結果如下
1 2 3 4 5 6 7 | array(1) { ["台北市"]=> array(1) { [0]=> string(9) "中正區" } } |
參考資料:
留言
張貼留言