最近因為接觸到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了,
實際要做成一份可以讀的文件還缺一些東西,等下次有空再分享!
留言列表