XML结构与语法入门详解

合集下载

第二章 XML语法规则

第二章 XML语法规则

3
小结
软件学院
标记语言的基本概念
4
标记语言的基本特点:在表示数据内容的基础上, 插入各种具有明确含义的标记,以起到对数据内 容进行解释、说明、限制等作用。 标记的表示方法:<>,一般成对使用。 <a href=>yahoo</a> 标记的命名规则
28
软件学院
属性与子元素的有关问题
属性的表达方式:
<Student ID="100"> <Name>TOM</Name> </Student>
29
子元素的表达方式:
<Student > <id> 100</id> <Name>TOM</Name> </Student>
软件学院
属性与子元素的有关问题(续)
软件学院
25
元素(续)
XML元素的内容 : 元素内容的类型:嵌套元素/字符数据/实体引用/ CDATA节/处理指令/注释 有三类XML元素的内容:
– 混合内)
XML元素命名与Java、C的命名规则类似: – 元素名必须是以字母、下划线开始的字符串;
21
软件学院
元素(续)
那么原来的应用程序会中断或者崩溃么
22

不会。应用程序仍然会正确的解读<to>, <from>, 和<body> 等元素,并且产生同样 的输出。
软件学院
元素(续)
23
XML文档是可以扩展的!
软件学院
元素(续)
元素之间的关系:子元素/父元素、祖先/后代

xml标准格式

xml标准格式

xml标准格式XML标准格式。

XML(可扩展标记语言)是一种用于标记电子文件结构的标记语言,它可以用于各种不同的应用程序和平台。

XML标准格式是一种通用的标准,它定义了XML 文档的结构和语法规则,以确保不同系统之间可以互相理解和交换数据。

在本文中,我们将深入探讨XML标准格式的相关内容,包括其基本结构、语法规则和常见应用。

1. 基本结构。

XML文档由标签、属性、元素和实体组成。

标签用于标识元素的开始和结束,属性用于描述元素的特性,元素是XML文档的基本构建块,实体用于表示特殊字符或符号。

一个简单的XML文档通常包括一个根元素,根元素包含了其他子元素,形成了文档的层次结构。

2. 语法规则。

XML文档必须遵循一定的语法规则,包括标签必须成对出现、元素必须按照层次结构嵌套、属性值必须用引号括起来等。

此外,XML文档还可以使用DTD(文档类型定义)或XML Schema来定义文档的结构和约束条件,以确保文档的有效性和一致性。

3. 常见应用。

XML标准格式广泛应用于各种领域,包括Web开发、数据交换、配置文件、办公自动化等。

在Web开发中,XML被用于描述网页的结构和内容,以便于搜索引擎的索引和检索。

在数据交换中,XML被用于在不同系统之间传递和共享数据,如SOAP和RESTful API。

在配置文件中,XML被用于存储应用程序的配置信息,如Android应用的Manifest文件。

在办公自动化中,XML被用于描述文档的结构和格式,如Microsoft Office的OpenXML格式。

总结。

通过本文的介绍,我们了解了XML标准格式的基本结构、语法规则和常见应用。

作为一种通用的标记语言,XML在各个领域都有着广泛的应用,它为不同系统之间的数据交换和共享提供了一种统一的标准。

在未来的发展中,XML标准格式将继续发挥重要作用,为各种应用程序和平台之间的互操作性提供支持。

希望本文能够帮助读者更好地理解XML标准格式,并在实际应用中发挥作用。

xml的语法

xml的语法

XML(Extensible Markup Language)是一种元标记语言,可以用来描述数据。

XML提供了一种标准化的方式,使程序和应用程序可以有效地共享数据,而不受数据类型和平台的限制。

XML的语法包括文档格式、元素、属性和实体等。

一、XML文档格式XML文档是一个标记文档,包含一个XML声明,一个根元素和其他元素。

XML声明用来声明文档的版本号、编码方式和其他信息。

根元素是文档的起始点,它可以包含其他元素和属性。

其他元素是根元素的子元素,可以包含其他元素和属性。

属性是元素的附加信息,可以用来描述元素的语义。

二、XML元素XML元素是文档的基本单位,用来描述数据。

元素可以包含子元素,也可以包含属性。

元素的起始标签和结束标签之间的内容是元素的内容。

元素的内容可以是文本、其他元素、属性或实体。

三、XML属性XML属性是元素的附加信息,可以用来描述元素的语义。

属性的值可以是字符串、数值、日期或其他类型的数据。

属性的名字应该使用驼峰命名法,即首字母小写,其余字母大写。

属性的值应该使用双引号括起来,以区分属性的名字和值。

四、XML实体XML实体是一个名称,可以用来表示一个完整的文本或其他数据。

实体可以用来替换XML中的文本或其他数据,以提高XML文档的可读性和可维护性。

五、XML语法错误XML文档的语法错误可能会导致XML解析器无法解析文档。

常见的XML语法错误包括:1. 缺少元素或属性的起始标签或结束标签。

2. 元素或属性的名字错误,或者名字不符合驼峰命名法。

3. 元素或属性的值不符合XML的语法规则,例如字符串值缺少引号或实体值缺少引号。

4. 属性的名字与元素的名字相同。

5. 文档格式不正确,例如缺少XML声明或根元素。

六、XML文档解析XML文档可以使用XML解析器解析,以获取文档的内容。

XML解析器可以使用SAX(Simple API for XML)或DOM(Document Object Model)等方式解析文档。

XML从入门到深入(超详细)

XML从入门到深入(超详细)

XML从⼊门到深⼊(超详细)⼀:什么是XML XML (eXtensible Markup Language)指可扩展标记语⾔,标准通⽤标记语⾔的⼦集,简称XML。

是⼀种⽤于标记电⼦⽂件使其具有结构性的标记语⾔。

XML可以标记数据、定义数据类型,可以允许⽤户对⾃⼰标记语⾔进⾏⾃定义,是对⼈和机器都⽐较友好的数据承载⽅式;XML其前⾝是SGML(标准通⽤标记语⾔)。

传统的系统已经远远不⾜以来表达复杂的信息,简单的语⾔根本⽆法表达出⼀些细微的差别,需要更完整的语⾔来表达⽹络世界⾥⽇益丰富复杂的信息内涵 XML - 可扩展标记语⾔便由此诞⽣,它不像HTML追求美观的效果,⽽不重视实际交流应⽤现象,所以XML语⾔的出现核⼼是⽤来展⽰及数据的交互,它的出现把⽹络表达的语⾔集合推进了⼀⼤步,XML传递信息,具有跨平台的特性(如:WebService)它作为数据交互和⽹络计算基础,尤其是在电⼦商务应⽤上的出⾊表现,现在已经没⼈怀疑它给信息社会带来的⾰命性影响(随着2021的到来JSON也是⼀个不错的选择)<?xml version="1.0" encoding="UTF-8" standalone="yes" ?><Students><Student><name>蚂蚁⼩哥</name><address>安徽六安</address></Student><Student><name>欧阳康康</name><address>安徽六安</address></Student></Students>1:编写XML注意事项①:XML 中的每个元素都是成对出现的,有开始和结束,⾃闭和标签除外,但是都得有 '/'结束标志如:<student>xxxxx</student> ⾃闭和:<student name='xxx' />②:每个XML⽂档都有且只有⼀个根元素(Root Element)③:XML标签对⼤⼩写敏感④:XML必须正确嵌套⑤:同级标签以所缩进对齐⑥:元素名称可以包含字母,数字,但不能以数字开头⑦:元素名称中不能含有空格或者 ' : '号⑧:如出现特殊字符需要转义如:<,>,",',&....2:使⽤XML的优缺点优点:①:XML是使⽤信息⾃描述的新语⾔(没有约束的情况下)②:信息共享(⾃定义数据格式,⽽且很容易使⽤⼯具读写)③:数据传递(⽀持各种通道传递数据,如WebService就使⽤XML传输数据)④:数据重⽤、分离数据和显⽰、⽂档包含语义、⽅便阅读有⾯向对象的树形结构缺点:①:数据量⼤是传输效果不好,因为XML定义了和数据⽆关的标签3:XML基本语法第⼀⾏必须是XML的声明<?xml ?>version:xml的版本,必须设定,当前只有'1.0'版本encoding:当前xml⾥⾯的数据格式,默认UTF-8standalone:标记是否是⼀个独⽴的xml,默认yes如果设置 no 表⽰这个XML不是独⽴的⽽是依赖于外部的DTD约束⽂件(后⾯说)<?xml version="1.0" encoding="UTF-8" standalone="yes" ?><Students><Student><name>蚂蚁⼩哥</name><address>安徽六安</address></Student></Students>⼆:XML专⽤标记 XML其实是有专⽤的标记,也可以理解是XML的基本语法,但是这些语法你在看HTML语法时也看到过,因它们都属于⼀个⼤家族,只是应⽤的⽅向不⼀样⽽导致的差异有部分不⼀样1:XML注释 语法:<!-- 这是⼀个注释 --><?xml version="1.0" encoding="UTF-8" standalone="yes" ?><School><!--定义学⽣对象这是⼀个注释--><Student id="st01" name="张三" age="23"/></School>①:注释⾥的内容不要出现 --②:不要把注释写在元素中间如<Student <!--这⾥注释报错--> ></Student>③:注释不可嵌套2:XML处理PI指令 其实XML⾥的PI指令⼤家可以理解为XML设置样式的,但是考虑到XML是⽤于存储数据的载体,所以这个指令⽤的也不多 语法:<?⽬标指令?> 如引⼊CSS样式:<?xml-stylesheet type='css类型' href='引⼊css样式地址'> CSS类型可以设置 type='text/css' type='text/xsl'<?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!--引⼊PI指令注意只能放在头部并引⼊style.css样式--><?xml-stylesheet type='text/css' href='./style.css' ?><School><!--定义学⽣对象这是⼀个注释--><Student><name>蚂蚁⼩哥</name></Student></School><!--CSS样式-->name {font: normal 500 22px "微软雅⿊";color:#f69;}3:XML之CDATA节 ⽤于把整段⽂本解析为纯字符串数据⽽不是标记的情况,其实包含在CDATA节中的特殊字符<、>、&都会当作字符展⽰<?xml version="1.0" encoding="UTF-8" standalone="yes" ?><School><!--定义学⽣对象这是⼀个注释--><Student><!--使⽤<![CDATA[xxx]]>可以把特殊字符当作⽂本--><name><![CDATA[我是⼀个"⽂本":想不到把]]></name></Student></School> 那么问题来的,如果我不使⽤CDATA节包裹的话在⽂本区域输⼊<,>等就会和关键字符冲突,我们需要使⽤转义<?xml version="1.0" encoding="UTF-8" standalone="yes" ?><School><!--定义学⽣对象这是⼀个注释--><Student><!--这⾥的蚂蚁⼩< > 哥报错 <>⼲扰,我们要使⽤转义--><!--<name>蚂蚁⼩<>哥</name>--><name>蚂蚁⼩&lt;&gt;哥</name></Student></School><!--常⽤⽹页转义字符 xml也可以使⽤--><!--显⽰结果描述实体名称实体编号空格 &nbsp; &#160;< ⼩于号 &lt; &#60;> ⼤于号 &gt; &#62;& 和号 &amp; &#38;" 引号 &quot; &#34;' 撇号 &apos;(IE不⽀持) &#39;¢分 &cent; &#162;£ 镑 &pound; &#163;¥ ⽇圆 &yen; &#165;§ 节 &sect; &#167;© 版权 &copy; &#169;® 注册商标 &reg; &#174;× 乘号 &times; &#215;÷ 除号 &divide; &#247;-->XML中转义字符的使⽤三:核⼼DTD语法约束1:什么是DTD,为什么使⽤DTD DTD是⽂档类型定义(Document Type Definiyion),它是⽤来描述XML⽂档结构,⼀个DTD⽂档会包含如下内容:元素(ELEMENT):的定义规则,描述元素之间的关系规则属性(ATTLIST):的定义规则,可以定义具体的标签内部属性为什么使⽤DTD:①:DTD⽂档与XML⽂档实例关系如类与对象关系②:有了DTD,每个XML⽂件可以携带⼀个⾃⾝格式描述③:有了DTD,不同组织的⼈可以使⽤⼀个通⽤DTD来交换数据④:应⽤程序可以使⽤⼀个标准的DTD校验从外部世界接受来的XML是否是⼀个有效标准XML⑤:可以使⽤DTD校验⾃⼰的XML数据2:DTD定义⽂档规则(DOCTYPE)DTD⽂档的声明及引⽤有三种:内部DTD⽂档:<!DOCTYPE 根元素[定义元素属性等等内容]>外部DTD⽂档:<!DOCTYPE 根元素 SYSTEM 'DTD⽂件路径'>内外部DTD⽂档结合:<!DOCTYPE 根元素 SYSTEM 'DTD⽂件路径'[定义元素属性等等内容]><?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!--注:此时我这⾥⾯的 ELEMENT 定义元素的我后⾯介绍--><!DOCTYPE Student[<!ELEMENT Student (name)><!ELEMENT name (#PCDATA)>]><Student><name>蚂蚁⼩哥</name></Student>内部定义DTD⽂档<?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!DOCTYPE Student SYSTEM './st.dtd'><Student><name>蚂蚁⼩哥</name></Student><!--下⾯是⽂件 st.dtd--><!DOCTYPE Student[<!ELEMENT Student (name)><!ELEMENT name (#PCDATA)>]>外部定义DTD⽂档<?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!DOCTYPE Student SYSTEM './st.dtd'[<!ELEMENT Student (name,age,sex)><!ELEMENT sex (#PCDATA)>]><Student><name>蚂蚁⼩哥</name><age>23</age><sex>男</sex></Student><!--外部引⽤的st.dtd⽂件--><?xml version="1.0" encoding="UTF-8" ?><!--这⾥不能写DOCTYPE,因为这个可以当作元素引⽤,具体规则在上⾯定义--><!ELEMENT name (#PCDATA)><!ELEMENT age (#PCDATA)>内外部定义DTD⽂档3:DTD元素的定义(ELEMENT)语法:<!ELEMENT 元素名称(NAME) 元素类型(COUTENT)>注:ELEMENT关键字元素名称:就是⾃定义的⼦标签名称元素类型:EMPTY:该元素不能包含⼦元素和⽂本,但是可以有属性,这类元素称为⾃闭和标签ANY:该元素可以包含任意在DTD中定义的元素内容#PCDATA:可以包含任何字符数据,设置这个就不能包含⼦元素了,⼀般设置具体value混合元素类型:只包含⼦元素,并且这些⼦元素没有⽂本混合类型:包含⼦元素和⽂本数据混合体<!-- 定义空元素EMPTY --><?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!DOCTYPE Student[<!ELEMENT Student EMPTY>]><!--约束为空元素所以写成⾃闭和标签,--><Student/><!-- 定义组合元素(student,teacher)并为每个元素设置类型(#PCDATA) --><?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!DOCTYPE School[<!ELEMENT School (student,teacher)><!ELEMENT student (#PCDATA)><!ELEMENT teacher (#PCDATA)>]><School><student>我是学⽣</student><teacher>我是⽼师</teacher></School><!-- 设置任意元素ANY 虽然student元素内部没有再设置元素⽽设置ANY,那我就可以在编写任意⼦元素,前提在⾥⾯有定义 --><?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!DOCTYPE School[<!ELEMENT School (student)><!ELEMENT student ANY><!ELEMENT name (#PCDATA)><!ELEMENT address (#PCDATA)>]><School><student><name>蚂蚁⼩哥</name><address>安徽六安</address></student></School><!-- 元素组合及混合,可以使⽤通配符 --><?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!DOCTYPE School[<!ELEMENT School (student*,teacher?)><!ELEMENT student (#PCDATA)><!ELEMENT teacher (#PCDATA)>]><School><student>我是学⽣A</student><student>我是学⽣B</student></School>DTD元素定义具体代码通配符:() ⽤来元素分组如:(a|b|c),(d,e),f 分三组| 在列表中选⼀个如(a|b)只能选⼀个表⽰a|b必须出现并⼆选⼀+ 该对象⾄少出现⼀次或多次如(a+) 该元素可以出现多次* 该对象允许出现0次到多次如(a*) 该元素可以不出现或出现多次表⽰可出现⼀次或者不出现(a?) a可以出现,或者不出现, 常⽤按照顺序出现(a,b,c) 表⽰依次a,b,c4:DTD属性的定义(ATTLIST)语法:<!ATTLIST 元素名称属性名称类型属性特点>元素名称:我们⾃定义的元素名称属性类型:我们为元素上添加⾃定义属性类型:CDATA:任意字符(理解为任意字符的字符串)ID:以字母开头唯⼀值字符串,IDREF/IDREFS:可以指向⽂档中其它地⽅声明的ID类型值(设置此值是可以在⽂档上存在的)使⽤IDREFS时可以使⽤空格隔开NMTOKEN/NMTOKENS:NMTOKEN是CDATA的⼀个⼦集,设置该属性时只能写英⽂字母、数字、句号、破折号下划线、冒号,但是属性值⾥⾯不能有空格 NMTOKENS:它是复数,如果设置多个值由空格隔开 Enumerated: 事先定义好⼀些值,属性的值必须在所列出的值范围内属性特点:#REQUIRED表⽰必须设置此属性#IMPLIED表⽰此属性可写可不写#FIXED value表⽰元素实例中该属性的值必须是指定的固定值#Default value为属性提供⼀个默认值<!-- 第⼀种写法 --><?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!DOCTYPE School[<!ELEMENT School (student*)><!ELEMENT student EMPTY><!--定义了⼀个id属性类型为ID 必须值--><!ATTLIST student id ID #REQUIRED><!--设置了name属性为任意字符的字符串必须值--><!ATTLIST student name CDATA #REQUIRED ><!--设置address 类型为多个常规字符串且不需要⼀定存在此属性--><!ATTLIST student address NMTOKENS #IMPLIED><!--设置srcID 该属性的值只能从id上⾯上取--><!ATTLIST student srcID IDREFS #IMPLIED>]><School><student id="st001" name="蚂蚁⼩哥"/><student id="st002" name="欧阳;*)*^%$:⼩⼩" address="安徽_六安安徽_合肥"/><student id="st003" name="许龄⽉" srcID="st001 st002"/></School><!-- 第⼆种写法 --><?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!DOCTYPE School[<!ELEMENT School (student*)><!ELEMENT student EMPTY><!--简便写法,全部放在⼀起写--><!--设置了name属性为任意字符的字符串不⼀定要设置此属性,但是设置必须按照指定的值--> <!ATTLIST studentid ID #REQUIREDname CDATA #FIXED '我们名字都⼀样'address CDATA '默认都是安徽'sex (男|⼥) #REQUIRED>]><School><student id="st001" sex="男" name="我们名字都⼀样"/><student id="st002" sex="⼥"/><student id="st003" sex="男" name="我们名字都⼀样"/></School>DTD的属性定义具体代码5:DTD实体定义(ENTITY)实体分类:普通内部实体,普通外部实体,内部参数实体,外部参数实体语法:普通内部实体定义:<!ENTITY 实体名 "实体值">普通外部实体引⼊:<!ENTITY 实体名 SYSTEM "URI/URL">内部参数实体定义:<!ENTITY % 实体名 "实体值">外部参数实体引⼊:<!ENTITY % 实体名 SYSTEM "URI/URL">⽰例定义:<!ENTITY name "蚂蚁⼩哥"><!ENTITY address "安徽六安">⽰例XML⾥使⽤:<name>&name;</name>使⽤范围:定义实体分为内部实体(定义在当前xml⽂件)和外部实体(定义在外部dtd⽂件⾥)<!-- 内部普通实体 --><?xml version="1.0" encoding="UTF-8" standalone="yes" ?><!DOCTYPE Student[<!ELEMENT Student (name,address)><!ELEMENT name (#PCDATA)><!ELEMENT address (#PCDATA)><!ENTITY name "蚂蚁⼩哥"><!ENTITY address "安徽六安">]><Student><name>&name;</name><address>&address;</address></Student>DTD实体定义代码6:使⽤命名空间(Namespace) 避免元素名冲突,使⽤URL作为XML的Namespaces(这样也有约束和提⽰好处) 语法:xmlns:[prefix]="URL" 元素和属性都可以应⽤命名空间 XML的元素名是不固定的,当两个不同类型的⽂档使⽤同样的名称描述两个不同类型的元素的时候就会出现命名冲突<?xml version="1.0" encoding="UTF-8" standalone="yes" ?><h:table xmlns:h="/1999/xhtml"><h:tr><h:td>名称A</h:td><h:td>名称B</h:td></h:tr></h:table>四:核⼼Schema语法约束1:什么是XML Schema XML Schema描述了XML⽂档的结构。

xml结构描述文件

xml结构描述文件

xml结构描述文件XML(可扩展标记语言)是一种用于描述数据结构和数据的文本格式。

它具有易于阅读、易于编写和易于解析的特点,因此在许多领域得到了广泛的应用。

下面将详细介绍XML结构描述文件的相关知识。

1.XML结构简介XML是基于XML规范的一种树状结构。

它由一系列的元素组成,每个元素包括开始标签、结束标签和中间的内容。

XML文件由一个根元素开始,然后分为多个子元素,子元素也可以分为多个孙元素。

这种层次结构使得XML具有良好的可读性和易于理解。

2.XML的基本语法XML的基本语法包括以下几点:- 开始标签:每个元素都以开始标签表示,例如```<element>```。

- 结束标签:每个元素都以结束标签表示,例如```</element>```。

两个斜杠(```/```)表示结束标签。

- 空格:XML元素可以包含空格,以提高可读性。

- 注释:XML允许在元素中添加注释,以提供对代码的说明。

注释以```<!--```开始,以```-->```结束。

- CDATA段:CDATA段用于包含不解析的特殊字符,以避免XML解析器将其解析为标签或属性。

CDATA段以```<![CDATA[```开始,以```]]>```结束。

3.XML的应用场景XML广泛应用于以下场景:- 数据存储:XML文件可以用于存储结构化数据,便于数据的备份和传输。

- 数据交换:XML具有良好的可读性和易于解析性,可用于不同系统之间的数据交换。

- 配置文件:许多软件使用XML文件作为配置文件,以便于用户自定义设置。

- 文档编写:XML可应用于文档编写,如使用TEI(Text Encoding Initiative)规范对文本进行编码。

4.XML的优势与局限性XML的优势:- 结构清晰:XML采用树状结构,使数据层次关系一目了然。

- 易于阅读和编写:XML采用类似于HTML的语法,易于阅读和编写。

xml语言结构

xml语言结构

xml语言结构
XML(可扩展标记语言)是一种标记语言,用于描述数据的结构和内容。

它使用一系列简单的标记来描述数据,这些标记可以告诉计算机数据的类型、含义和结构。

XML语言结构主要包括以下部分:
1.元素:XML文档由各种元素组成,每个元素都可以包含其他元素。

元素以起始标记开
始,以结束标记结束。

例如,<example>是一个元素,</example>是该元素的结束标记。

2.标记:标记是用来定义元素的关键字,例如<example>和</example>。

标记必须成对出现,
且必须有一个起始标记和一个结束标记。

3.属性:属性是元素的附加信息,它们由名称和值组成,并放在起始标记中。

例如,<example
attr="value">中,“attr”是属性名称,“value”是属性值。

4.文本内容:元素可以包含文本或其他元素,文本内容是XML文档中的实际数据。

5.命名空间:为了解决不同XML文档中可能存在的命名冲突问题,可以使用命名空间来
区分不同的元素和属性。

6.DTD(文档类型定义):DTD用来定义XML文档的结构和内容。

它提供了有关文档中
允许的内容和结构的规则。

7.XML Schema:XML Schema是另一种定义XML文档结构和内容的方式,它提供了更强
大和灵活的数据类型和验证机制。

总的来说,XML语言结构使得数据可以被标准化、组织和共享,被广泛应用于各种领域,如网页开发、数据交换、配置文件等。

xml中的标签语法格式

xml中的标签语法格式

xml中的标签语法格式一、XML简介XML(可扩展标记语言)是一种用于存储和传输数据的标记语言。

它使用标签来定义数据结构,以便于计算机理解和处理。

二、标签语法格式1.标签名称:XML标签的名称必须以大写字母开头,可以使用小写字母、数字和下划线。

不允许使用空格或其他特殊字符。

2.标签对:XML标签通常成对出现,称为标签对。

开始标签以尖括号(<)括起来,并包含一个标签名称,而结束标签以尖括号>结束,并匹配开始标签的名称。

例如:<tagname>内容</tagname>。

3.属性:标签可以包含属性,用于提供更多关于标签的信息。

属性由属性名和等号(=)组成,后面跟着属性值。

属性名和值之间用等号分隔,多个属性之间用逗号分隔。

例如:<tagnameattribute1="value1"attribute2="value2">内容</tagname>。

4.注释:注释用于对XML文档进行解释或提供附加信息。

注释以<!--开头,以-->结尾。

5.文档类型声明(DTD或XMLSchema):XML文档通常包含一个文档类型声明,用于指定文档的结构和内容。

可以使用DTD(文档类型定义)或XMLSchema来定义标签和数据结构之间的关系。

三、示例以下是一个简单的XML示例,展示了标签语法格式的应用:```xml<?xmlversion="1.0"encoding="UTF-8"?><employees><employeeid="1"><name>张三</name><age>30</age><position>经理</position></employee><employeeid="2"><name>李四</name><age>25</age><position>员工</position></employee></employees>```在上述示例中:*`<?xmlversion="1.0"encoding="UTF-8"?>`是XML声明,告诉浏览器此文档使用XML版本1.0和UTF-8编码。

xml格式和语法

xml格式和语法
</book> <book category="non-fiction">
<title>The Power of Now</title> <author>Eckhart Tolle</author> <year>1997</year> </book> </bookstore> ``` 在这个示例中,`bookstore`是根元素,`book`是子元素,`category`是`book`元素的属 性,`title`、`author`和`year`是`book`元素的子元素,它们包含了书籍的相关信息。
xml格式和语法
XML(eXtensible Markup Language)是一种用于描述数据的标记语言。它使用标签来 标识数据的结构和含义,以便于数据的存储、传输和解析。XML的语法规则如下:
1. 标签:XML使用尖括号(< >)来定义标签,标签可以包含标签名和属性。标签名用于 标识数据的类型或名称,属性用于提供额外的描述或信息。
4. 文本内容:元素可以包含文本内容,表示数据的具体值或描述。文本内容放置在开始标 签和结束标签之间。
5. 注释:注释用于在XML文档中添加注释或解释信息。注释以<!--开头,以-->结尾。
6. 嵌套:XML允许元素嵌套,即一个元素可以包含其他元素。
xml格式和语法
7. 命名空间:命名空间用于区分不同来源或类型的XML元素。它通过为元素或属性添加 命名空间前缀来标识所属的命名空间。
下面是一个简单的XML示例: ```xml <bookstore>
<book category="fiction"> <title>The Great Gatsby</title> <author>F. Scott Fitzgerald</author> <year>1925</year>

XML的语法

XML的语法
文檔標題
XML的語法
Page: 0 / 總頁數
1. XML文件
目錄
文檔標題
XML是一个源置标语言,可以看作是用来产生置标语言的 工具。因此,XML并没有预定义一个特定的标记集,而是描述 了一个用来定义标记集的方法。当我们用这个方法规定好一 个标记集,并根据这些规定填入文本内容后,这些标记就和 纯文本一起构成了一个XML文件. XML标记语言除了能够放在 通常意义的文件中以外,还能够按照数据流、数据库结果集、 以及由应用程序动态产生的结果而进行传送。因此,我们所 说的XML文件实际上是广义的文件,更准确的叫法应该是一个 “数据对象”,但是为了简便起见,我们仍称它为“文件”。
Page: 2 / 總頁數
1.2 XML文件的逻辑结构
文檔標題
XML文件的结构包括逻辑结构和物理结构。 一个XML文件最基本的构成是: XML声明 <?xml version="1.0" encoding="GB2312" standalone="no"?> 处理指示(可选) XML元素
Page: 3 / 總頁數
Page: 14 / 總頁數
<?xml version = "1.0" encoding="GB2312" standalone = "no"?> <!DOCTYPE 联系人列表 SYSTEM "fclml.dtd"> <?xml-stylesheet type="text/xsl" href="mystyle.xsl"?> <联系人列表> <联系人> <姓名>张三</姓名> <ID>001</ID> <公司>A公司</公司> <EMAIL>zhang@</EMAIL> <电话>(010)62345678</电话> <地址> <街道>五街1234号</街道> <城市>北京市</城市> <省份>北京</省份> <ZIP>100001</ZIP> </地址> </联系人> <联系人> <姓名>李四</姓名> <ID>002</ID> <公司>B公司</公司> <EMAIL>li@</EMAIL> <电话>(021)87654321</电话> <地址> <街道>南京路9876号</街道> <城市>上海</城市> <省份>上海</省份> <ZIP>200002</ZIP> </地址> </联系人> </联系人列表>

XML入门基础:XML的语法规则

XML入门基础:XML的语法规则

XML入门基础:XML的语法规则想索取更多相关资料请加qq:649085085或登录PS;本文档由北大青鸟广安门收集自互联网,仅作分享之用。

提纲:一.XML语法规则二.元素的语法三.注释的语法四.CDATA的语法五.Namespaces的语法六.entity的语法七.DTD的语法一.XML语法规则XML的文档和HTML的原代码类似,也是用标识来标识内容。

创建XML 文档必须遵守下列重要规则:规则1:必须有XML声明语句这一点我们在上一章学习时已经提到过。

声明是XML文档的第一句,其格式如下:<?xml version="1.0" standalone="yes/no" encoding="UTF-8"?>声明的作用是告诉浏览器或者其它处理程序:这个文档是XML文档。

声明语句中的version表示文档遵守的XML规范的版本;standalone表示文档是否附带DTD 文件,如果有,参数为no;encoding表示文档所用的语言编码,默认是UTF-8。

规则2:是否有DTD文件如果文档是一个"有效的XML文档"(见上一章),那么文档一定要有相应DTD文件,并且严格遵守DTD文件制定的规范。

DTD文件的声明语句紧跟在XML 声明语句后面,格式如下:<!DOCTYPE type-of-doc SYSTEM/PUBLIC "dtd-name">其中:"!DOCTYPE"是指你要定义一个DOCTYPE;"type-of-doc"是文档类型的名称,由你自己定义,通常于DTD文件名相同;"SYSTEM/PUBLIC"这两个参数只用其一。

SYSTEM是指文档使用的私有DTD文件的网址,而PUBLIC则指文档调用一个公用的DTD文件的网址。

ML技术实验ML语法图文稿

ML技术实验ML语法图文稿

M L技术实验M L语法 Company number【1089WT-1898YT-1W8CB-9UUT-92108】实验1—XML的语法实验日期:2015.3.9实验室:204信息管理实验室学号:姓名:何瑞班级:计科5班实验目的1.安装并学习如何使用XMLSPY集成开发环境完成XML相关的开发工作。

2.熟悉和掌握XML规范的基本内容,包括XML声明、注释、处理指令、元素、属性、CDATA段、预定义实体、命名空间的使用,以及如何进行XML文档良构和有效性验证;能够灵活地使用XML层次数据来表示各种信息。

实验环境1.硬件2.软件:XMLSpy2011实验原理一、XML文档结构一个XML文档由声明、元素及其属性、注释、字符引用和处理指令组成,所有这些都在文档中用显式标记指明。

文档的数据部分开始于根(root)元素。

二、规范的XML文档规范的XML文档包含两层含义:一个是指格式良好的XML文档,另一个是指有效的XML文档。

所谓格式良好的XML文档即符合XML1.0规范的文档;而有效的XML文档是指文档中的数据应受到本文档中相应数据规则的限制。

格式良好的XML文档应符合以下要求:▪有且只有一个根元素▪元素必须合理结束:开始标记必须与结束标记相对应▪标记是大小写敏感的▪标记必须正确嵌套图XML文档结▪元素属性必须有值,属性值必须使用引号引起来实验任务<row><aID>1</aID><spyREF>A001</spyREF><alias>SpyGrrrl</alias></row><row><aID>2</aID><spyREF>A001</spyREF><alias>LaFemmeNikki</alias> </row><row><aID>3</aID><spyREF>A006</spyREF><alias>LL</alias></row><row><aID>4</aID><spyREF>A006</spyREF><alias>Fred</alias></row><row><aID>5</aID><spyREF>A003</spyREF><alias>BigEars</alias></row><row><aID>6</aID><spyREF>A004</spyREF><alias>InspectorGadget</alias> </row><row><aID>7</aID><spyREF>A004</spyREF><alias>DonAdams</alias></row></aliasTable><missionTable><row><aID>M101</aID><spyREF>A001</spyREF><date>2005/4/15</date><description>Crackthecode</description><status>MissionAccomplished</status></row><row><aID>M102</aID><spyREF>A001</spyREF><date>2006/2/15</date><description>Getthesource</description><status>MissionAccomplished</status></row><row><aID>M103</aID><spyREF>A001</spyREF><date>2006/5/4</date><description>Hittherapid</description><status>InProgress</status></row><row><aID>M104</aID><spyREF>A006</spyREF><date>2006/6/15</date><description>Shoottherapid</description><status>InProgress</status></row><row><aID>M105</aID><spyREF>A003</spyREF><date>2005/11/4</date><description>Getthebigcheese</description><status>InProgress</status></row><row><aID>M106</aID><spyREF>A003</spyREF><date>2006/4/4</date><description>Mapthearea</description><status>InProgress</status></row><row><aID>M107</aID><spyREF>A099</spyREF><date>2006/5/2</date><description>GetSmart</description><status>InProgress</status></row><row><aID>M108</aID><spyREF>A004</spyREF><date>1967/2/15</date><description>ProtectChief</description><status>InProgress</status></row><row><aID>M109</aID><spyREF>A004</spyREF><date>2006/6/15</date><description>Getsamestyle</description><status>MissionAccomplished</status> </row></missionTable><spyTable><row><spyID>A001</spyID><firstName>Nikki</firstName><lastName>Devgood</lastName></row><row><spyID>A006</spyID><firstName>Link</firstName><lastName>Lister</lastName></row><row><spyID>A003</spyID><firstName>Danger</firstName><lastName>Mause</lastName></row><row><spyID>A099</spyID><firstName>Barbara</firstName><lastName>Feldon</lastName></row><row>。

xml语法格式

xml语法格式

xml语法格式1.XML⽂档声明<?xml version="1.0" encoding="UTF-8"?>2.标记(元素/标签/节点)XML⽂档,由⽂个个的标记组成.语法:开始标记(开放标记): <标记名称>结束标记(闭合标记): </标记名称>标记名称: ⽂定义名称,必须遵循以下命名规则:1.名称可以含字母、数字以及其他的字符2.名称不能以数字或者标点符号开始3.名称不能以字符“xml”(或者 XML、Xml)开始4.名称不能包含空格,不能包含冒号(:)5.名称区分⽂⽂写标记内容: 开始标记与结束标记之间 ,是标记的内容.例如 ,我们通过标记, 描述⽂个⽂名:<name>李伟</name>3.⽂个XML⽂档中,必须有且且仅允许有⽂个根标记.正例:<names><name>张三</name><name>李四</name></names>反例:<name>李四</name><name>⽂⽂</name>4.标记可以嵌套, 但是不允许交叉.正例:<person><name>李四</name><age>18</age></person>反例:<person><name>李四<age></name> 18</age></person>5.标记的层级称呼(⽂标记,⽂标记,兄弟标记,后代标记,祖先标记)例如:<persons><person><name>李四</name><length>180cm</length></person><name>李四</name><length>200cm</length></person></persons>name是person的⽂标记.也是person的后代标记name是persons的后代标记.案例:语法进阶CDATA(了解)name是length的兄弟标记.person是name的⽂标记.persons是name的祖先标记.6.标记名称允许重复7.标记除了开始和结束,还有属性.标记中的属性, 在标记开始时描述, 由属性名和属性值组成.格式: 在开始标记中, 描述属性.可以包含0-n个属性, 每⽂个属性是⽂个键值对!属性名不允许重复 , 键与值之间使⽂等号连接, 多个属性之间使⽂空格分割.属性值必须被引号引住.属性值必须被引号引住.案例:<persons><person id="10001" groupid="1"><name>李四</name><age>18</age></person><person id="10002" groupid="1"><name>李四</name><age>20</age></person></persons>8.注释注释不能写在⽂档⽂档声明前注释不能嵌套注释格式:注释开始: <!--注释结束: -->9.CDATACDATA是不应该由XML解析器解析的⽂本数据。

xml格式讲解

xml格式讲解

xml格式讲解XML(eXtensible Markup Language)是一种用于描述和传输数据的标记语言。

它能够通过自定义标签来定义数据的结构和内容。

本文将对XML格式进行详细讲解。

一、XML的基本语法XML采用了类似于HTML的标签语法,但与HTML不同的是,XML标签必须自行定义,且对大小写敏感。

以下是XML的基本语法要点:1. 标签:XML使用尖括号(< >)来定义标签,标签通常成对出现,分为开始标签和结束标签。

例如:<book>...</book>2. 元素(Element):元素由开始标签、结束标签和标签内容组成。

例如:<name>John</name>3. 属性(Attribute):属性为元素提供更多的信息,通常出现在开始标签中。

例如:<book category="novel">...</book>4. 注释:注释用于添加对XML代码的说明,以"<!--"开头,以"-->"结尾。

例如:<!-- This is a comment -->二、XML的文档结构一个合法的XML文档必须包含一个根元素,并且所有的元素都必须严格嵌套。

以下是一个简单的XML文档示例:<?xml version="1.0" encoding="UTF-8"?><library><book><title>《Pride and Prejudice》</title><author>Jane Austen</author></book><book><title>《1984》</title><author>George Orwell</author></book></library>在上述示例中,根元素是"library",它包含了两个子元素"book",并且每个"book"元素分别包含了"title"和"author"元素。

本章中将学习到如下内容

本章中将学习到如下内容

entry元素有三个子元素: name,tel,comments。
一、XML基础语法 基础语法
1、XML标记初步 、 标记初步 6) 元素嵌套
<!-- Not legal XML markup -- > <p> <b>I <i>really love</b> XML. </i> </p> (I) <!-- legal XML markup -- > <p> <b>I <i>really love</i></b> <i> XML. </i> </p> (II)
<?xml version=“1.0”?> <!-- An invalid document -- > <greeting> Hello,World! </greeting> <greeting> Hola, el Mundo! </greeting>
此文档不包含单一根元素, 不管该文档可能包含什么信息, XML解析器会拒绝它。
一、XML基础语法 基础语法
2、XML文档中的其它项 、 文档中的其它项 8) 注释 注释以<!-- 开始,以-- >结束。 注释可以出现在文档的任何位置,包括根元素的前面或后面。
注意: 注意: 注释不能在结束部分以外包含双连字符( -- ), 除此之外,注释可以包含任何内容。 注释内容将被解析器忽略,即注释内的标记也会被忽略。
一、XML基础语法 基础语法
2、XML文档中的其它项 、 文档中的其它项 10) Unicode Unicode是由统一编码联盟(Unicode Consortium)发布的,它是对 ASCII字符集进行的一项扩展。 国际标准化组织ISO也发布了同一个标准,ISO/IEC 10646 Unicode支持所有的语言(地球上存在的)以及数学和其他符号。 支持英语、西欧语言、西里尔语、日语、汉语等等。 ASCII字符集: 8 byte ---- 一个字符; Unicode字符集:16 byte ---- 一个字符;

xml文件格式的语法规则

xml文件格式的语法规则

xml文件格式的语法规则
XML(eXtensible Markup Language)即可扩展标记语言,是一种
用于描述、表示和存储数据的文本格式。

它被广泛应用于网络、软件、数据交换等领域。

XML文件格式语法规则十分严格,遵循以下几个方面:
1、标签名必须被尖括号包围,开始标签和结束标签一定要一一对应,并且字母不区分大小写。

2、每个XML文档必须有一个根元素,其他所有元素必须是其子元素。

3、标签可以拥有任意数量的属性,每个属性都由名称和值组成,
并用等号连接。

4、标签可以拥有内容,也可以没有内容。

如果有内容,内容必须
写在开始标签和结束标签之间。

5、XML文件必须是良好格式的,即必须有正确的缩进和空格。


有助于提高文件的可读性,并提供给开发人员更好的理解。

当我们开始创建XML文件时,应该特别注意以下几点:
1、评估要显示或存储的数据,以及其关系。

2、定义根元素并命名它。

3、确定必要的元素以及它们的层次结构。

4、定义元素的属性和值,以及它们的类型。

5、添加必要的注释,使过后使用XML文件的人员可以理解它的含义。

遵守XML语法规则,可以使XML文件具有更高的解析精度和可读性,并使XML文件在多个系统之间进行交换更加容易。

因此,我们应该始
终以规范的方式编写和处理XML文件。

xml结构描述文件

xml结构描述文件

xml结构描述文件【原创版】目录1.XML 结构描述文件的概念与作用2.XML 结构描述文件的基本语法3.XML 结构描述文件的应用实例正文XML(可扩展标记语言)是一种用于描述数据结构和数据交换的文本格式。

XML 结构描述文件是用 XML 语言编写的,用于描述某个数据结构的文件。

通过 XML 结构描述文件,开发者可以定义数据的结构、元素、属性和规则,以便在各种应用程序之间进行数据交换和共享。

本文将介绍XML 结构描述文件的概念与作用、基本语法以及应用实例。

一、XML 结构描述文件的概念与作用XML 结构描述文件是对象模型的文本表示,它描述了一个数据结构的层次结构、元素和属性。

XML 结构描述文件可以用于多种场景,如数据交换、数据存储和数据验证等。

通过 XML 结构描述文件,开发者可以方便地定义和描述数据结构,使数据在不同系统之间实现无缝对接。

二、XML 结构描述文件的基本语法XML 结构描述文件的基本语法包括以下几个方面:1.元素(Element):元素是 XML 结构描述文件的基本组成单位,表示数据结构中的某个节点。

元素由开始标签、结束标签和中间的内容组成。

例如:`<student>`表示一个学生元素的开始。

2.属性(Attribute):属性是用于描述元素的属性值,它位于元素的开始标签中,由“属性名=属性值”的形式表示。

例如:`<studentage="20">`表示学生元素有一个名为“age”的属性,其值为“20”。

3.注释(Comment):注释是对 XML 结构描述文件的解释或说明,它位于元素或属性之后,由“<!--注释内容-->”表示。

例如:`<!-- 这个注释解释了 student 元素的含义 -->`。

三、XML 结构描述文件的应用实例下面是一个简单的 XML 结构描述文件应用实例,用于表示一个学生的信息:```xml<?xml version="1.0" encoding="UTF-8"?><student><!-- 学生信息的根元素 --><name>张三</name><!-- 学生的姓名 --><age>20</age><!-- 学生的年龄 --><gender>男</gender><!-- 学生的性别 --></student>```通过这个 XML 结构描述文件,我们可以清晰地了解到学生元素包含了哪些子元素,以及这些子元素的含义和规则。

xml语法规则

xml语法规则

xml语法规则XML(可扩展标记语言)的语法规则主要包括以下几点:1.所有XML元素都须有关闭标签:在HTML中,经常会看到没有关闭标签的元素,但在XML中,省略关闭标签是非法的。

所有元素都必须有关闭标签。

2.XML标签对大小写敏感:XML元素使用XML标签进行定义。

XML标签对大小写敏感。

在XML中,标签<Letter> 与标签<letter> 是不同的。

必须使用相同的大小写来编写打开标签和关闭标签。

3.XML必须正确地嵌套:所有的元素都必须是已定义的元素的子元素。

也就是说,它们必须被正确地嵌套在父元素中。

4.XML文档必须有根元素:XML文档必须有一个元素是所有其他元素的父元素,这个元素称为根元素。

5.XML的属性值须加引号:与HTML类似,XML也可拥有属性(名称/值的对)。

在XML中,XML的属性值须加引号。

单引号和双引号均可使用。

6.实体引用:在XML中,一些字符拥有特殊的意义。

如果你把字符“<”放在XML元素中,会发生错误,这是因为解析器会把它当作新元素的开始。

可以使用实体引用来代替这些特殊字符。

例如,“<”可以用“<”代替,“>”可以用“>”代替,“&”可以用“&”代替,“”可以用“"”代替,而“’”可以用“'”代替。

7.XML中的注释:XML还支持注释,注释以“<!--”开始,以“-->”结束。

8.XML中空格会被保留:在XML中,空格不会被当作是无关的空白符而删除。

9.XML以LF存储换行:在XML中,换行符使用LF(Line Feed)表示,而不是CR(Carriage Return)。

以上就是XML的主要语法规则,遵循这些规则可以确保XML 文档的正确性和可读性。

XML文件结构和基本语法

XML文件结构和基本语法

XML⽂件结构和基本语法XML⽂件的结构性内容,包括节点关系以及属性内容等等。

元素是组成XML的最基本的单位,它由开始标记,属性和结束标记组成。

就是⼀个元素的例⼦,每个元素必须有⼀个元素名,元素可以若⼲个属性以及属性值。

 xml⽂件和html⽂件⼀样,实际上是⼀个⽂本⽂件。

显然⼤家⽴刻就会明⽩,创建xml⽂件最普通的⼯具和html⼀样,就是“记事本”了。

⼀个xml⽂件的例⼦ 现在我们暂且使⽤“记事本”来创建我们的xml⽂件吧。

先看⼀个xml⽂件: 例1 〈?xml version="1.0" encoding="gb2312" ?〉 〈参考资料〉 〈书籍〉 〈名称〉xml⼊门精解〈/名称〉 〈作者〉张三〈/作者〉 〈价格货币单位="⼈民币"〉20.00〈/价格〉 〈/书籍〉 〈书籍〉 〈名称〉xml语法〈/名称〉 〈!--此书即将出版--〉 〈作者〉李四〈/作者〉 〈价格货币单位="⼈民币"〉18.00〈/价格〉 〈/书籍〉 〈/参考资料〉 —————————————————————— 这是⼀个典型的xml⽂件,编辑好后保存为⼀个以.xml为后缀的⽂件。

我们可以将此⽂件分为⽂件序⾔(prolog)和⽂件主体两个⼤的部分。

在此⽂件中的第⼀⾏即是⽂件序⾔。

该⾏是⼀个xml⽂件必须要声明的东西,⽽且也必须位于xml⽂件的第⼀⾏,它主要是告诉xml解析器如何⼯作。

其中,version是标明此xml⽂件所⽤的标准的版本号,必须要有;encoding 指明了此xml⽂件中所使⽤的字符类型,可以省略,在你省略此声明的时候,后⾯的字符码必须是unicode字符码(建议不要省略)。

 ⽂件的其余部分都是属于⽂件主体,xml⽂件的内容信息存放在此。

我们可以看到,⽂件主体是由开始的〈参考资料〉和结束的〈/参考资料〉控制标记组成,这个称为xml⽂件的“根元素”;〈书籍〉是作为直属于根元素下的“⼦元素”;在〈书籍〉下⼜有〈名称〉、〈作者〉、〈价格〉这些⼦元素。

1)请简述xml文件格式的语法规则

1)请简述xml文件格式的语法规则

1)请简述xml文件格式的语法规则
XML是一种可扩展标记语言,用于表示数据,它的格式和HTML类似。

而与HTML不同的是,XML的语法规则更加灵活,可以根据需要自定义标记,是用来存储和传输数据的一种格式。

XML的语法规则非常严格,必须遵循以下几个方面:
1.XML文档必须具有根元素;
2.XML元素必须正确嵌套;
3.XML元素必须关闭;
4.XML元素的属性值必须用引号括起来;
5.使用恰当的编码格式来声明文件的编码方式,防止不同编码方式导致的乱码问题;
6.注释必须用<!--和-->括起来;
7.XML对大小写敏感;
8.XML文件必须有效。

除此之外,XML的标签必须遵循一定的命名规范,常用的命名方式包括:蛇形命名法和驼峰命名法。

另外,XML中还存在着一些特殊的字符需要进行特殊处理,比如<、&、>、”、‘等字符。

需要使用对应的实体名称或实体引用来表示它们,从而避免出现解析错误。

在编写XML文档的时候,还需要注意到文档类型定义(DTD)和XML模式定义(XSD)。

DTD是一种验证XML文档结构是否正确的规则,而XSD是一种XML Schema语言,用于验证XML文档中元素和属性是否符合规范。

总而言之,如果我们想要编写出符合规范的XML文档,就需要详细了解其语法规则,按照规则进行严格的编写。

通过这样的方式,我们可以创建出可读性强、易于理解和解析的XML文档,从而充分利用其在数据存储和传输方面的优点。

XML学习总结(二)——XML入门

XML学习总结(二)——XML入门

XML学习总结(⼆)——XML⼊门⼀、XML语法学习 学习XML语法的⽬的就是编写XML ⼀个XML⽂件分为如下⼏部分内容:⽂档声明元素属性注释CDATA区、特殊字符处理指令(processing instruction)1.1、xml语法——⽂档声明 在编写XML⽂档时,需要先使⽤⽂档声明,声明XML⽂档的类型。

最简单的声明语法:<?xml version="1.0" ?> 例如:1<?xml version="1.0"?>2<softCompany>3<company>MicroSoft</company>4<company>google</company>5<company>Apple</company>6</softCompany> 浏览器解析结果如下: ⽤encoding属性说明⽂档的字符编码:<?xml version="1.0" encoding="GB2312" ?> 当XML⽂件中有中⽂时,必须使⽤encoding属性指明⽂档的字符编码,例如:encoding="GB2312"或者encoding="utf-8",并且在保存⽂件时,也要以相应的⽂件编码来保存,否则在使⽤浏览器解析XML⽂件时,就会出现解析错误的情况。

例如:1<?xml version="1.0"?>2<softCompany>3<company>MicroSoft</company>4<company>google</company>5<company>Apple</company>6<company>百度</company>7</softCompany> 这个XML⽂件中没有使⽤encoding属性来指明⽂档的字符编码,但⽂档⾥⾯有“百度”这样的中⽂字符,在使⽤IE浏览器解析该XML⽂件时,IE就不知道该使⽤什么编码去解析该⽂件,就⽆法解析了,出现的错误如下图(图-1)所⽰: 图-1 要想正确解析该XML⽂档,就可以使⽤encoding属性指明该⽂档的字符编码。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

这是一个典型的XML文件,编辑好后保存为一个以.xml为后缀的文件。

我们可以将此文件分为文件序言(Prolog)和文件主体两个大的部分。

在此文件中的第一行即是文件序言。

该行是一个XML文件必须要声明的东西,而且也必须位于XML文件的第一行,它主要是告诉XML解析器如何工作。

其中,version是标明此XML文件所用的标准的版本号,必须要有;encoding指明了此XML文件中所使用的字符类型,可以省略,在你省略此声明的时候,后面的字符码必须是Unicode字符码(建议不要省略)。

因为我们在这个例子中使用的是GB2312字符码,所以encoding这个声明也不能省略。

在文件序言部分还有一些声明语句,我们在后面给予介绍。

文件的其余部分都是属于文件主体,XML文件的内容信息存放在此。

我们可以看到,文件主体是由开始的〈参考资料〉和结束的〈/参考资料〉控制标记组成,这个称为XML
文件的“根元素”;〈书籍〉是作为直属于根元素下的“子元素”;在〈书籍〉下又有〈名称〉、〈作者〉、〈价格〉这些子元素。

货币单位是〈价格〉元素中的一个“属性”,“人民币”则是“属性值”。

〈!--此书即将出版--〉这一句同HTML一样,是注释,在XML文件里,注释部分是放在“〈!--”与“--〉”标记之间的部分。

大家可以看到,XML文件是相当简单的。

同HTML一样,XML文件也是由一系列的标记组成,不过,XML文件中的标记是我们自定义的标记,具有明确的含义,我们可以对标记中的内容的含义作出说明。

对XML文件有了初步的印象之后,我们就来详细地谈一谈XML文件的语法。

在讲语法之前,我们必须要了解一个重要的概念,就是XML解析器(XML Parse)。

1.XML解析器
解析器的主要功能就是检查XML文件是否有结构上的错误,剥离XML文件中的标记,读出正确的内容,以交给下一步的应用程序处理。

XML是一种用来结构化文件信息的标记语言,XML规范中对于如何标记文件的结构性有一个详细的法则,解析器就是根据这些法则写出来的软件(多用Java写成)。

同HTML一样,在浏览器中,必须有HTML的解析器,这样浏览器才能够“读懂”各种用HTML标记所组成的网页,将它们显示在我们面前。

如果有浏览器的HTML解析器读不懂的标记,将会返回给我们错误信息。

由于现在的HTML标记实际上相当混乱,存在大量不规范的标记(有的网页用IE能正常显示,而用Netscape Navigator则不行),所以从一开始,XML的设计者就严格规定了XML的语法和结构,我们编写的XML文件必须遵循这些规定,否则XML解析器将毫不留情地给你显示错误信息。

有两种XML文件,一种是Well-Formed XML文件,一种是Validating XML文件。

如果一个XML文件满足XML规范中的某些相关法则,且没有使用DTD(文件格式定义——后详述)时,可称这份文件是Well-Formed。

而如果一个XML文件是Well-Formed,且正确地使用了DTD,DTD中的语法又是正确的,那么这个文件就是Validating。

对应两种XML文件,有两种XML解析器,一种是Well-Formed 解析器,一种是Validating解析器。

IE 5中就内含Validating解析器,Validating解析器也可用来解析Well-Formed XML文件。

检查它是否满足了Well-Formed的条件。

我们可以将刚才编辑的第一个XML 文件用IE 5以上版本的浏览器打开。

标记之间有相互重叠的区域,而在XML中,是严格禁止这样标记交错的写法,标记必须以规则性的次序来出现。

5.属性值必须要用“ ”号括起来。

如第一个例子中的“1.0”、“gb2312”、“人民币”。

都是用“ ”号括起来了的,不能漏掉。

6.控制标记、指令和属性名称等英文要区分大小写。

与HTML不同的是,在HTML中,类似〈B〉和〈b〉的标记含义是一样的,而在XML中,类似〈name〉、〈NAME〉或〈Name〉这样的标记是不同的。

7.我们知道,在HTML文件中,如果我们要浏览器原封不动地将我们所输入的东西显示出来,可以将这些东西放到〈pre〉〈/pre〉或者〈xmp〉〈/xmp〉标记中间。

这对于我们创建HTML教学的网页是必不可少的,因为网页中要显示HTML的源代码。

而在XML中,
小结:
符合上述规定的XML文件就是Well-Formed的XML文件。

这是编写XML文件的最基本要求。

可以看到XML文件的语法规定比HTML要严格多了。

由于有这样的严格规定,软件工程师编写XML的解析器就容易多了,不像编写HTML语言的解析器,必须费尽心思去适应不同的网页写法,提高自己浏览器的适应能力。

实际上,这对于我们初学者来说,也是一件好事。

该怎样就怎样,不必像原来那样去疑惑各种HTML的写法。

我们看到,在XML文件中,用的大多都是自定义的标记。

但是大家考虑一下,如果两个同行业的公司A和B要用XML文件相互交换数据,A公司用〈价格〉标记来表示他们产品的价格信息,而B公司可能用〈售价〉来表示价格信息。

如果一个XML应用程序来读取他们各自的XML文件中的信息时,如果它只知道〈价格〉标记里表示的是价格信息,那么B公司的价格信息就读不出来,必将产生错误。

显然,对于想利用XML文件来交换信息的实体来说,他们之间必须有一个约定——即编写XML文件可以用哪些标记,母元素中能够包括哪些子元素,各个元素出现的顺序,元素中的属性怎样定义等。

这样他们在用XML 交换数据时才能够畅通无阻。

这种约定称为DTD(Document Type Definition,文档格式定义)。

可以把DTD看作编写XML文件的模板。

对于同行业之间的XML数据交换,有一个固定的DTD将会方便很多。

比如说,如果网上的各大电子商场的XML网页都遵循同一个DTD时,那么我们就可以轻松地依据这个DTD 编写一个应用程序,去网上将我们感兴趣的东西自动抓回来。

事实上已经有了好几个定义好的DTD,如前面所说的MathML、SMIL 等。

如果一个XML文件是Well-Formed的,并且它是正确的依据某个DTD建立的,那么,这个XML文件就被称为:Validating XML文件。

相应的解析器就称为:Validating Parser。

相关文档
最新文档