將XML轉為陣列結構的函式

2021-08-30 05:15:04 字數 1350 閱讀 6007

此方法要求傳入乙個節點(domnode),返回該節點下的所以子節點組成的陣列。

比如乙個xml檔案:

<?xml version="1.0" encoding="utf-8"?>

file1.txt

2009-09-07

2009-09-08

file2.txt

2009-09-01

2009-09-04

file3.txt

2009-09-01

2009-09-02

2009-09-03

2009-09-04

2009-09-05

呼叫:

$xmlarray = gettreearray($doc->getelementsbytagname("files")->item(0));

print_r($xmlarray);

將得到

array ( [file] => array ( [0] => array ( [filename] => array ( [0] => file1.txt ) [createdate] => array ( [0] => 2009-09-07 ) [modifytrack] => array ( [0] => array ( [date] => array ( [0] => 2009-09-08 ) ) ) ) [1] => array ( [filename] => array ( [0] => file2.txt ) [createdate] => array ( [0] => 2009-09-01 ) [modifytrack] => array ( [0] => array ( [date] => array ( [0] => 2009-09-04 ) ) ) ) [2] => array ( [filename] => array ( [0] => file3.txt ) [createdate] => array ( [0] => 2009-09-01 ) [modifytrack] => array ( [0] => array ( [date] => array ( [0] => 2009-09-02 [1] => 2009-09-03 [2] => 2009-09-04 [3] => 2009-09-05 ) ) ) ) ) )

此函式適用於任何深度結構

函式**

function gettreearray($targetnode)

else}}

return $array;

}

將CSV轉為XML的指令碼

1.csv是定義的比較簡單的 檔案格式,類似excel但是比它簡單 用文字編輯器開啟csv檔案,你可以看到 實際上基本都是用 來分割各個欄位的資料,如下 a,32,0,1,通訊站,交換機房.東門門磁 a,32,1,1,通訊站,交換機房.西門門磁 a,32,2,0,通訊站,交換機房.交流屏故障 a,3...

用OPEN函式將XML資料轉為關聯資料

2005中進一步延續了對xml的支援。本文將向我們展示如何用sqlserver提供的open xml函式將 xml型別資料轉換為其它格式的關聯資料。從sqlserver2000開始,微軟開始支援xml型別的資料。在sqlserver2005中,微軟延續了這一特性,並加強了對xml資料列 xml變數以...

c Marshal 將位元組陣列轉為結構 封裝協議

定義需要轉換的結構體 需要讓結構體資料順序排列並對齊 依次定義每乙個屬性的長度即可,需要注意定義的資料型別的大小要與unmanagedtype型別定義的大小一直 否則會報 不能作為非託管結構進行封送處理 無法計算有意義的大小或偏移量 structlayout layoutkind.sequentia...