最近因为接触到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了,

实际要做成一份可以读的文件还缺一些东西,等下次有空再分享!

 

 

查看原文 >>
相关文章