XML学习

来源:互联网 发布:工控机定位控制软件 编辑:程序博客网 时间:2024/05/22 15:14

XML:可扩展标记语言,是一种元语言,是Internet中跨平台,依赖内容的技术。XML是一套定义语义标记的规则,是一种类似于HTML的标记语言,是用来描述数据的,XML的标记是用户自定义的,XML使用文档定义类型(DTD)或者模式(Schema)来描述数据。XML主要侧重来存储、描述和传输数据,而HTML则侧重用来显示数据。

 

XSL是专门用于XML文档的样式单语言,XML文档被统一资源标识符URI所引用,XML采用的是Unicode字符集。

 

先看下一个简单的XML文档:

<?xml version = “1.0” standalone = “yes”>

<sample>

       Hello xml

</sample>

 

第一行是xml文档的声明,声明了version和standalone两个特性,表明xml的版本号和文档是在一个文件里还是需要从外部导入文件,在本例中声明为yes,表明xml文档是在一个文件里完成。

 

<sample>是开始标记,</sample>是结束标记,Hello xml是sample的内容。需要注意的是所有的xml标记都是对大小写敏感的。Xml标记的名字的命名也需要注意,都必须以字母,下划线或者‘:’开头,所有的命名都不能使用‘xml’或者任何以此顺序排列的三个字母的组合。

 

空元素标记:如<hello></hello>,可以写成缩略形式<hello/>,xml中字符串采用单引号或者双引号,如果字符串中包含单引号则分隔符必须采用双引号,反之亦然。Xml中注释的格式是:<!--注释内容-->

 

属性:<sample name = “test” data = “2009”>,其实标记包含属性,此例中属性有两个,其中一个是name,其属性值是test。

 

Xml中可以声明式样,可以采用xsl和css的方式,下面分别给出例子:

<?xml-stylesheet type = “text/css” href = “1.css”>

<?xml-stylesheet type = “text/xsl” href = “2.xsl”>

 

Xml中的特殊标记:‘<’= &lt  ‘>’= &gt  ‘ ” ’= &quot  ‘‘’= &apos ‘&’= &amp

 

可以在www.w3cschool.cn中学习xml的一些相关知识

常用的编辑工具:Notepad,UltraEdit,XMLSpy

关于xml的命名空间,DOM解析器等内容在后面的内容中介绍。

 

 下面引入别人的一片文章(较为详细):

1.XML声明

XML文档总是以XML声明开始,其中指明所用的XML版本、文档的编码、文档的独立性信息。

<? 版本信息[编码信息][文档独立性信息] ?>

一对中括号([])中的部分为可选信息(版本号不对可能不能解析)

文档编码声明默认为UTF-8。独立性声明:如果文档不依赖外部文档,在XML声明中,我们可以通过standalone="yes"来声明。XML声明必须位于文档的第一行,它的前面不能有任何的字符。例子:<?xml version="1.0" encoding="gb2312"? standalone="yes"?>

 

2.文档类型声明

通过文档类型声明,指出XML文档所用的DTD。有两种形式:

           1.外部 <!DOCTYPE greeting SYSTEM "hello.dtd">

           2.直接在XML文档中给出DTD <!DOCTYPE greeting[<!ELEMENT greeting(#PCDATA)>]>

 

3.元素

元素命名只能以字母、下划线、或者冒号开头;

元素名称可以包含字母、数字、下划线等;

元素的四种形式:

             1.带属性的空元素:<student name="a" age="20" />

              2.带有内容的元素

              3.带有内容和属性的元素

名称中不能包含空格,名称中尽可能不要使用冒号,以为冒号在名称空间中被用于分隔名称空间前缀和本地部分。

 

4.注释

注释不能出现XML声明之前,XML声明必须是文档最前面的部分。

       注释不能出现在标记中

       注释中不能出现"--"

       注释中不允许以"--->"结尾

 

5.处理指令

处理指令(Processiong Instructions,简称Pls)允许文档中包含由应用程序来处理的指令。在XML文档中,有可能会包含一些非XML格式的数据,这些数据XML处理器无法处理,我们就可以通过处理指令来同志其他应用程序来处理这些数据。                       

处理指令的语法和XML声明类似,以<?开始,以?>结束。一个常用的使用样式表单的处理指令如下所示:                            

<?xml-stylesheet href="hello.css" type="text/css"?>                                                                   

在开始标记<?后的第一个字符串"xml-stylesheet" 叫做处理指令的目标,它必须标识要用到的应用程序,要注意的是对于其它的非W3C 

定义的处理指令不能以字符串"XML"和"xml"开头;其于的部分是传递给应用程序的字符数据。应用程序从处理指令中取得目标和数据,执行要求的动作。   

xml-stylesheet处理指令总是放在XML声明之后,第一个元素之前。其他的处理指令可以放在除标记的内部和XML声明之前的任何位置。

 

XML名称空间:

一个XML文档中可以包含许多元素与属性,当我们使用其他人的XML文档,或者在文档中使用多个DTD文件时,就有可能碰到名称相同的元素,而这些名称相同的元素可能代表了完全不同的含义。比如:title可以用于表示标题,也可以用于表示某个人的头衔等;当这些具有相同名称不同含义的元素混合到一个文档中时,就会造成理解和处理上的混乱,为了解决这个问题,就要用到W3C的另一个推荐标准--XML名称空间。

可以在http://www.w3.org/TR/REC-xml-names/上查看XML名称空间规范的详细内容。

 

 

名称空间的声明方式有两种:

1.<元素名xmlns:prefixname="URI">

元素名是指你在哪一个元素上声明名称空间。在这个元素上声明的名称空间适用于声明它的元素和属性,以及该元素内容中的所有元素及其属性。

xmlns:prefixname作为该元素的属性名,属性的值是一个URI引用,是标识该名称空间的名称空间名字。其中prefixname 给出名称空间前缀的名字。该前缀用于将元素及属性的名字与URI关联在一起。

注意:在这样的声明中,名称空间的名字不能为空("").如果有两个URI。其组成字符完全相同,可以认为它们标识了同一个名称空间。来自与XML名称空间的名字可以作为限定名(qualified names)出现,限定名包含了一个以冒号分隔的名称空间前缀和一个本地部分。映射到URI引用的名称空间前缀选择了一个名称空间。

例子:<hr xmlns:"http://www.sunxin.org/hr">

<hr:employee>

"hr":名称空间前缀(名称空间前缀可以是不包含冒号的任何合法的XML名称。有两个前缀是不允许使用的,它们是xml和xmlns;xml前缀中能用于XML1.0规范中定义的xml:space和xml:lang属性,前缀xml被定义为与名称空间名字http://www.w3.org/XML/1998/namespace绑定.前缀xmlns仅仅用于声明名称空间的绑定,它被定义为与名称空间名字http://www.w3.org/2000/xmlns/绑定.)


2.<元素名 xmlns="URI">

这种声明形式没有给出名称空间的前缀名,URI所标识的是缺省的名称空间.在这样的缺省声明中,属性值可以为空("").

例子:<hr xmlns="http://www.sunxin.org/hr">

表示声明了一个缺省的名称空间,hr元素及其内容中所有的没有前缀的元素都属于http:www.sunxin.org/hr所表示的名称空间,除非被hr元素内容中其它缺省名称空间声明所覆盖.

在声明名称空间时,选择的URI不需要指向实际的内容,在URI所标识的位置上,可以不存在任何东西.在名称空间声明中的URI,只是形式上的标识符,其唯一的目的是提供一个唯一的名字.

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/chshplp2008/archive/2009/10/29/4741431.aspx

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 未满16岁支付宝余额受限怎么办 手机天猫购物买的数量大怎么办 扣扣游戏领礼包出现账号异常怎么办 美容院转让给别人客人要退钱怎么办 卖家毁约中介费担保费怎么办 天猫买东西店家不开增值税票怎么办 天猫专卖店品牌不授权了怎么办 临时京东账号被冻结买的东西怎么办 天猫强行退款给买家商家怎么办 淘宝店铺没交保证金被释放了怎么办 沭阳县地段生过了报名时间怎么办 淘宝买东西地址和收件人填错怎么办 才装修的房子马上要住怎么办 淘宝发货显示无效的发货人怎么办 微信位置和所在地位置不一样怎么办 qq号被冻结了短信发不出去怎么办 商户刷自己信息卡被冻结怎么办 天猫超市买的东西坏了怎么办 天猫超市买东西地址填错了怎么办 天猫超市地址填错了怎么办 天猫超市退货达不到包邮条件怎么办 保千里达令手机锁屏密码忘记怎么办 淘宝买的东西给的发票不见了怎么办 在天猫超市买到发霉怎么办 支付宝红包券金额消费不完怎么办 支付宝向对方发起收款不付怎么办 支付宝收款别人少付了怎么办 红牛领到50元加油优惠券怎么办用 苹果淘宝看评价图片看不清楚怎么办 淘宝账号账户体验中心有违规怎么办 淘宝买的东西需要寄回去维修怎么办 淘宝闪电退款了卖家不肯退了怎么办 云视听会员账号账号密码忘了怎么办 移动卡异地补卡忘记服务密码怎么办 欠我钱的人不接电话怎么办 苹果手机换屏升级系统了黑屏怎么办 苹果手机黑屏时接不到电话怎么办 手机上打电话的图标没了怎么办啊 阿巴町手表上的二维码不生成怎么办 速卖通几个月来搜索曝光很差怎么办 你我贷逾期3个月怎么办