XML之基本介绍

前端之家收集整理的这篇文章主要介绍了XML之基本介绍前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

XML是可扩展性标记语言(Extensible Markup Language)的缩写,因为其在描述数据结构、数据共享交换及Web开发方面具有其特有的优势,所以XML越来越被开发人员喜爱,成为一种使用广泛的语言。

1、XML的基本构成:

以一个小段XML语句为例:

<?xml version="1.1" encoding="UTF-8" standalong="yes" ?>
<!-- a simple example-->
<!DOCTYPE name [
  <!ELEMENT name(first,middle,last)>
  <!ELEMENT first (#PCDATA)>
  <!ELEMENT middle (#PCDATA)>
  <!ELEMENT last (#PCDATA)>    
]>
<name>
   <first>A</first>
   <middle>B</middle>
   <last>C</last>
</name>
第一行是序言,它是可选的,即不一定必须存在,但是一旦出现就必须写在最开始的地方。它声明了该版本遵循XML1.1版本,编码为UTF-8,文档为独立的。

standalone只应用于那些定义了DTD文档,并且只在使用添加或者修改内容是才适用,若无DTD,可以设置为yes或者不用管它。【注】DTD(Document Type Definition)文档类型定义是是一套关于标记符的语法规则。它是标准通用标记语言[1]可扩展标记语言1.0版规格的一部分,是文档的验证机制。
第二行标记了一行注释;

<!DOCTYPE name[ ]>是一个文档类型声明,告诉解析器,该文档需要与一个DTD文件一起使用。在XML文档中使用DTD时,DOCTYPE必须放在文档开头,以“!”开始。在主体中我们可以声明元素ELEMENT、实体ENTITY、属性ARTTLIST。本例中我们声明了根元素为name,first、middle、last为name的子元素,其字符数据是可解析的(Parse Character Data)。

接来下我们定义了根目录name的主体,与其子元素构成了树形结构。值得注意的是,根目录下的标签不能嵌套使用,如写成<first>A<middle>B</first></middle>。

2、对于XML,我们需要了解:

(1)。XML是一种类似于HTML的标记语言,但不同的是,其标签并没有被预定义,需要用户自行定义;

(2)。XML文档的编写是一种树形结构,必须要有根节点,再从根节点扩展到叶节点;

(3)。XML中出现的所有元素标签都必须关闭, 否则将会引起语法错误

(4)。XML的文本注释与HTML一致,使用<!-- XXX-->标记注释;

(5)。XML对大小写敏感,故用户在编写时要注意大小写的情况;

(6)。XML的属性值必须用引号,即使是数值型的属性也必须加引号,否则同样会导致错误

(7)。XML元素的命名需符合要求:名称不能以数字或者标点符号开始;不能以xml字母开头;不能包含括号等。

(8)。XML中通过回车符(CR)和换行符(LF)来存储换行;


3、XML实体引用:

在XML中,有时候实体会包含一些XML的语法字符,在使用时需要对这些字符进行转义,否则将会引起XML解释错误。XML有5个预定义的实体引用,这些字符可以得到实体转换,帮助我们使用一些敏感字符,如标签号"<>",这些预定义的引用包括

&lt < 小于
&gt > 大于
&amp & 和号
&apos ' 单引号
&quot " 双引号
特别注意的是:“<”和“&”在XML元素中是绝对非法的,“<”会被解释为新标签的开始,“&”会被解释为新的字符实体。
实体引用个格式为:<!ENTITY 实体引用名 "引用内容">
实体分为两类:一般实体(&实体引用名)和参数实体(%实体引用名).。一般实体是指在XML文档中的实体,参数实体是指可在DTD(文档类型定义)中引用和扩展的已分析实体。实体可以声明为内部实体或外部实体,外部实体又可以分为SYSTEM(引用本地计算机)和PUBLIC(引用公共计算机)两种,其形式为:<!ENTITY 引用名 SYSTEM(PUBLIC) "URI地址">。
实体引用可以替代常规字符 ,也可以在标签属性中使用,引用后面应加“;”如例:
<?xml version="1.1" encoding="UTF-8"?>
<!DOCTYPE root[
<!ENTITY title "标题" >
]>
<root>
<title value="&title;">&title;</title>
</root>
若用浏览器打开,则title元素的属性值及内容均会被转换为“标题”。 4、XML子元素与属性的取舍 (1)。属性不易扩展,只支持简单数据类型,若需要具有扩展性,则应该选择子元素; (2)。当文件需要经常在网络上传输且宽带受限,则使用属性比较好,因为使用属性可以使文档变小。 (3)。如果数据项可能对应多个值,则使用子元素; (4)。若数据项在DTD中被要求作为一个明确的属性类型,如ID、ENTITY,则使用属性 (5)。若数据项含有空格,应选择子元素 (6)。鼓励以使用子元素为主,但也应灵活选择。 5、XML处理指令 处理指令(PI)用来与使用XML的应用进行交互,它明确了哪个应用应该执行指令以及它所需要的数据。处理指令会通过XML解析器传递信息到应用,但不能直接被XML解析器使用。 语法为:<?处理指令 所需数据 ?>,如:<?xml-stylesheet type="text/css" href="mystyle.css"?>, 会调用xml-stylesheet处理指令来为文档添加自定义样式的效果

猜你在找的XML相关文章