學習XML檔案格式與實作系列:(5/6) 實際匯入XML的情境

一般使用者在取得XML檔案時,並不會去理解它是一個需要或不需要XSD檔案的內容,而是在操作Power Query匯入外部檔案時,直接選擇XLM檔案進行匯入,這解析的工作就交給Power Query囉~

透過Power Query的操作,我們可以從導覽器的畫面上,就可判別與解讀。譬如:我們從曾經介紹過的[MLB球隊(v).xml]為例,就是一個不需要XSD的資料檔案,在與覽畫面時可預覽到資料輸出的內容。(實作檔案 data.zip 下載)

若此時直接點按[載入]按鈕,當然就是將資料原汁原味的預設載入到Excel空白工作表囉!不過,若是試圖匯入一個含有XSD檔案的XML檔案,則有可能匯入時的導覽畫面不盡相同。譬如,這是一個含有XML結構敘述的[MLB球隊(s).xml]檔案:

從導覽畫面中僅有3個資料欄位的預覽以及僅有一筆資料記錄的呈現,就肯定讓不懂XML的使用者茫然而無頭緒。若是不明究裡的直接在此點按下方的[載入]按鈕,看到輸出到Excel工作表的結果,當然就更加疑惑囉!

我們就再度進入Power Query編輯器的操作,來為大家實務演練後續的資料處理。此例,在匯出至Excel工作表的操作畫面,您可以在右側[查詢與連線]工作窗格裡點按兩下剛剛輸出只有1筆資料列的查詢,開啟Power Query查詢編輯器視窗。

這時候您所看到的輸出畫面,便是由Power Query解析出這個XML檔案資料結構的敘述。其中,「MLB球隊」欄位其實代表的是XML檔案中的一個節點(Node),而其內容顯示著Table,則表示此節點是一個資料表格或資料集,因此,此資料欄位名稱左側便是一個資料表的資料型態圖示。而第二個欄位:「http://www.w3.org/2001/XMLSchema-instance」則是XML的命名空間(Namespace),用於定義XML結構的標準,而從此資料欄位名稱左側的圖示也可以看出這是一個資料型態為資料表的欄位。至於第三個欄位:「Attribute:generated」則是XML節點屬性(Attribute),名稱為generated,表示資料生成的時間戳記,因此,此資料欄位名稱左側便是一個日期時間的資料型態圖示。

至於後續怎麼操作,就在後續文章,透過Power Query查詢編輯器的操作,以及查詢步驟和M語言程式碼來跟大家說個明白。

 

前一篇:<<學習XML檔案格式與實作系列:(4/6) 解析XML檔案開頭的定義>>
下一篇:<<學習XML檔案格式與實作系列:(6/6) 展開XML內容的查詢過程>>