close

最近因為接觸到OpenXML來編輯Word檔,所以攢不少心得與大家分享。

在這之前,必須先了解什麼是XML。

 

Extensible Markup Language,簡稱:XML(引自維基百科),是一種標記式語言

說的白話些,就是將純粹的文字資料帶上「標籤(Tag)」、「成員(Element)」「屬性(Attribute)」,

可以解釋成「如同資料夾一般的整理方式」,但有一點要注意,不同資料夾(Element)可以有同樣的名稱。

 

開始與結束

既然是用文字的方式敘述資料夾,我們就必須定義他的「開始」與「結束」,

<Tag>表示這個標籤的開始,</Tag>則表示這個標籤的結束,中間的「...」則是敘述的內容。

而XML敘述的最上層必須由一個最大的資料夾包覆,通常稱之為「根目錄(Root)」。

 

內容零 沒有內容

什麼叫做沒有內容? 就是創立一個資料夾,然後什麼都沒有。如左圖。

也可以縮寫成右圖。基本上這兩個是一樣的。

為什麼會創一個甚麼都沒有的資料夾呢?

因為有時候會當Boolean用(檢查這個Tag是否存在)

 

內容一 文字

有了開始與結束之後則必須定義其內容,內容可以看成是「下一層資料夾」也是「下一層標籤」,

最簡單的內容就是一串文字,這是定義文字的基礎方式,也是最常見的方式。

一個標籤只可以擁有一串文字,如果需要多行文字則需使用「屬性」(請看內容三)

(順帶一提,大部分的平台讀取XML時都不在乎排版,這裡的排版稱為Pretty Print,是為了方便理解與美觀)

 

 

內容二 成員

我們進階到擁有成員了(Element),其概念跟資料夾一模一樣,

換句話說,資料夾的底下可以有無窮多個子資料夾,子資料夾的底下還可以再有(子)子資料夾....不斷地下去。

唯一不同的是,同一層的資料夾可以叫相同的名稱。

 

內容三 屬性

屬性(Attribute)可以標示成員,是簡化XML的一種方式。

試想,如果我們在一個資料夾下需要很多文字的時候,如果用舊有的觀念會變成

上述還是一個簡單的範例,如果是實際的應用可能會需要十幾二十個Text,

如此一來你的XML會變成長長一串,可讀性會變得非常的差。

還好,屬性(Attribute)可以簡化我們的煩惱。

不囉嗦直接來範例,上述的XML可以簡化成下圖,是不是清晰很多呢?

 

XML的基本格式就到此,看過這篇文章的人應該可以看懂基本的XML了,

實際要做成一份可以讀的文件還缺一些東西,等下次有空再分享!

 

 

arrow
arrow
    文章標籤
    XML Format Learning
    全站熱搜

    Vincent 發表在 痞客邦 留言(1) 人氣()