码迷,mamicode.com
首页 > 编程语言 > 详细

XML - 可扩展的标记语言

时间:2019-10-16 18:08:36      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:标签   不同   一个   命名   标点符号   ping   robot   版本   结束   

XML简介

XML被设计用来传输和存储数据;传输数据

需要自定义标签,自我描述性,XML是W3C的推荐标准

XML的特点与作用

特点:

  • xml与操作系统、编程语言的开发平台无关
  • 实现不同系统之间的数据交互

作用:

  • 配置应用程序
  • 数据交互Ajax

XML格式:一个xml文档必须要有第一行的声明和它的文档元素的描述信息

xml声明:一般是xml文档的第一行

  • <?xml version="1.0" encoding="字符集编码集" standalone="[ yes | no ]"?>
  • version定义版本号1.0,encoding定义编码格式standalone定义独立声明

根元素

  • 它是xml文档里面唯一的;它的开始是在最前面,结束是放在最后面

元素

  • 所有的xml元素都必须有一个关闭标签,<p></p><br />
  • xml标签对大小写敏感
  • xml必须正确地嵌套
  • 元素命名:可以包含字母,数字,或其它的字符不能以数字或者标点符号开始不能包含空格
  • 空元素

属性:属性值用双引号包裹;一个元素可以有多个属性

  • 语法:<元素名 属性名=“属性值” 属性名=“属性值”></元素名>;
  • <Student ID=“S100”><Name>Tom</Name></Student>

实体:实体引用来代替产生错误的字符

  • 在xml中,一些字符拥有特殊的意义。如果把字符“<”放在xml元素中,会发生错误,解析器会把它当作新元素的开始
&lt; < 小于 less than
&gt; > 大于 greater than
&amp; & ampersand
&apos; 单引号 apostrophe
&quot; " 双引号 quotation 

注释:注释内容中不要出现”--”;不要把注释放在标签中间;注释不能嵌套。

命名空间(xml Namespaces):命名空间是在元素的开始标签的 xmlns 属性中定义的。

  • 命名空间提供避免元素名冲突的方法
  • 在xml中,元素名是开发者定义的,当两个不同的文档使用相同的元素名,就会发生冲突
  • 为标签添加了一个xmlns属性,这样就以前缀赋予了一个与某命名空间相关联的限定名称
  • 语法:xmlns:前缀="URL" ;
  • 默认命名空间:xmlns="namespaceURL"为元素定义默认的命名空间可以让我们省去在所有的子元素中使用前缀的工作

XML验证(约束): 

DTD 与 Schema 建议使用Schema因为功能强大

DTD文档类型定义 Document Type Definition

DTD用来描述xml文档的结构,一个DTD文档包含:  

① 元素的定义规则;② 元素之间的关系规则;③ 属性的定义规则;

关联方式:使用内部DTD、使用外部DTD、使用公共DTD)

内部关联:将约束文档书写在XML内部

<!DOCTYPE  根元素  [...具体规范内容...] >

 1 <?xml version="1.0" ?>
 2 <!DOCTYPE note [
 3   <!ELEMENT note (to,from,heading,body)>
 4   <!ELEMENT to      (#PCDATA)>
 5   <!ELEMENT from    (#PCDATA)>
 6   <!ELEMENT heading (#PCDATA)>
 7   <!ELEMENT body    (#PCDATA)>
 8 ]>
 9 <note>
10 <to>Tove</to> 
11 <from>Jani</from> 
12 <heading>Reminder</heading> 
13 <message>Don‘t forget me this weekend!</message> 
14 </note>

外部关联模式:<!DOCTYPE 文档根节点 SYSTEM "DTD文件的URL">

<DOCTYPE note SYSTEM "book.dtd">

公共关联模式:<!DOCTYPE 文档根节点 PUBLIC "DTD名称" "DTD文件的URL">

<!--    引用的文件是一个网络上的公共文件-->
<!DOCTYPE note PUBLIC "-//Sun Microsystems,inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

SchemaW3C 支持一种基于 XML 的 DTD 代替者,它名为 XML Schema

xml Schema是用一套预先规定的xml元素和属性创建的,这些元素和属性定义了xml文档的结构和内容模式。Xml Shema规定xml文档实例的结构和每个元素/属性的数据类型。

shema类似表结构,在表结构里,定义一些数据的限制要求。然后我们xml文档呢就相当于是数据表将来要存储的数据,也就是数据库里面的数据表数据了,所以整体来讲的话schema它就是用于验证xml文档的。

 1 <?xml version="1.0"?>
 2 <!--    xsd约束-->
 3 <xs:schema
 4     xmlns:xs="http://www.w3.or/2001/XMLSchema"
 5     targetNamespace="http://www.w3cschool.com.cn"
 6     xmlns="http://www.w3cschool.com.cn"
 7     elementFormDefault="qualified"
 8 >
 9     <xs:element name="note">
10         <xs:complexType>
11             <xs:sequence>
12         <xs:element name="to" type="xs:string"/>
13         <xs:element name="from" type="xs:string"/>
14         <xs:element name="heading" type="xs:string"/>
15         <xs:element name="body" type="xs:string"/>
16             </xs:sequence>
17         </xs:complexType>
18     </xs:element>
19 </xs:schema>

 

 1 <?xml version="1.0" encoding="UTF-8">
 2 <note
 3     xmlns="http://www.w3cschool.com.cn"
 4     xmlns:w3="http://www.w3school.com.cn"
 5     xmlns:se="http://www.sikiedu.com"
 6     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 7     xsi:schemaLocation="http://www.w3school.com.cn note.xsd"
 8     http://www.sikiedu.com http://www.sikiedu.com/xx/xx/xx.xsd
 9 >
10 <!-- note.xsd为本地路径xsd文件,http://www.sikiedu.com/xx/xx/xx.xsd为网络上的xsd路径-->
11     <to></to>
12     <w3:from></from>
13     <heading></heading>
14     <body></body>
15 </note>

 

 

 

XML - 可扩展的标记语言

标签:标签   不同   一个   命名   标点符号   ping   robot   版本   结束   

原文地址:https://www.cnblogs.com/Dm920/p/11686603.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!