[XML] XML格式教学
最近因为接触到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了,
实际要做成一份可以读的文件还缺一些东西,等下次有空再分享!
查看原文 >>