【XML入门系列】第01章_XML基础

【XML入门系列】第01章_XML基础——v512工作室   编辑:玄玉

简介 属性 主要应用  
Cpoyright
实例 元素 实体引用 我的博客
声明 根元素 格式良好 v512工作室
标签 处理指示 CDATA与注释 中科院新科海学校

XML与HTML的异同
HTML是互联网应用的最基础技术,它关注的是数据的显示,它的核心作用是信息的布局和显示
HTML中所有标记都是固定好了的。若再增加新的标记,必须要重新制定新的标准才可以并且要让浏览器识别
GML和SGML都是HTML和XML的祖先,XML跟HTML有很大的不同,二者属于表亲的关系,就相当于HTML是XML的表哥




XML(eXtensible Markup Language)是一种类似于HTML的可扩展标记语言。它可以直接在IE等浏览器中显示
XML文件构成。所有的XML文件均由以下模块构成:元素、属性、实体、PCDATA(文本内容)、CDATA
XML所有标记都是自定义的,也可以定制中文标记。它的设计宗旨是包含和传输数据,即携带数据。它的典型扩展名即*.xml
XML不是用来替换HTML的技术,二者是为不同的目的而设计。XML设计的核心是包含和传输数据,HTML设计的核心是显示数据
XML的W3C的推荐标准,W3C是互联网管理的一个机构。XML的最新版本1.0,XML标准的网址:http://www.w3.org/TR/REC-xml/
XML是很大的一个技术体系,它有很多的内容。比如SVG、SMIL、HDML、OEB等,包括跟HTML的一个结合点XHTML
XML作为很大的一个技术框架,应用的领域很多,如电子商务、生物技术、化学、数学等等。因为它涉及到的是携带数据,很多行业都可以用XML表示一些数据

GML(1969) 通用标记语言
SGML(1985) 标准通用标记语言
HTML(1993) 超文本标记语言
XML(1998) 可扩展标记语言
XHTML 可扩展超文本标记语言
SVG 可缩放矢量图形语言
SMIL 同步多媒体综合语言
HDML 手持设备标记语言
... ... ... ...
OEB 开放电子结构规范




XML的主要应用
做为系统的配置文件
              Spring中的applicationContext.xml
        Hibernate中的hibernate.cfg.xml
             Struts2中的struts.xml
                 log4j中的log4j.xml
         Web应用中的web.xml
            Tomcat中的server.xml
Ajax中传输数据:它涉及到服务器要往浏览器传数据,传的数据就是以XML格式进行传输的
Web Services中传输数据:它的数据也是以XML格式传输的,包括它所涉及到的一些协议,协议也是用XML制定的
异构平台的数据交换与整合:比如开发一个大型的银行支票交换系统。把各个银行的支票信息汇总在一起然后完成电子汇兑
                                                       而涉及到的每个银行的系统都是不一样的,那么如何完成支票的兑付呢?
                                                       实际上就可以让它们把支票信息以XML形式汇集到一起,然后对它们进行加工、交换、整合然后进行处理
                                                       因为XML是跨平台的,不同的平台都可以用XML携带数据
选择XML做为配置文件的原因:在很多的开发框架中,XML是用来做配置文件的,因为它携带数据以及后期处理都是很方便的
                                                            由于XML可以非常方便的通过Java的API读取它的配置内容,而使用其他的则不是很方便
                                                            所以现在我们应用的框架或者说一些类库,如果有配置文件,80-90%都是XML文件




XML实例
<?xml version="1.0" encoding="utf-8"?>
<书籍列表>
        <计算机书籍>
                <书名>XML的今生今世</书名>
                <价格>66.66</价格>
        </计算机书籍>
</书籍列表>
说明①:文本编辑器保存XML文件时,保存类型和编码都应该保存为声明中的值的类型,否则浏览器会报错
说明②:一个XML文件只能有一个根元素,这里是<书籍列表>。但子元素个数不限,这里可以有多个<计算机书籍>




XML声明(<?xml version="1.0" encoding="utf-8"?>)
大多数XML文件以XML声明作为开始,它提供了关于文档的基本信息
若XML文件没有以XML声明作为开始,那么可以说也......是可以的
version表示XML的版本。Encoding表示XML文件使用的字符编码方法




标签(左尖括号(<)和右尖括号(>)之间的文本)
开始标签。例如:<name>
结束标签。例如:</name>




根元素
XML文件必须有且只能有一个根元素
XML文件的结构上是一种树状结构,它从"根部"开始,然后扩展到"枝叶"
XML的内容必须包含在一个单一元素中。这个单一元素称为根元素,它包含文档中所有文本和所有其它元素




元素(开始标签、结束标签以及位于二者之间的所有内容)
元素区分大小写,如<bookname>XML的今生今世</BookName>就会报错
元素要正确嵌套,如<bookname>XML的今生今世<price></bookname>39.00</price>就会报错
元素需正确关闭,如<bookname>XML的今生今世就会报错
空元素正常输出,如<bookname/><bookname></bookname>等均会正常输出<bookname />
父元素与子元素,例子:
<book>
     <author>
           <name>刘伟</name>
           <email>[email protected]</email>
     </author>
     <isbn>12345</isbn>
</book><!--这里若写成</Book>则会报错,因为<book>找不到它的结束标签</book>-->




实体引用(为了避免把字符数据和标签中需要用到的一些特殊符号相混淆,XML提供了实体引用)

字符
实体引用
&
&amp;
>
&gt;
<
&lt;
&quot;
&apos;
<name><<XML应用大全>></name>运行时会出错
<name>&lt;&lt;XML应用大全&gt;&gt;</name>运行正常输出:<name><<XML应用大全>></name>




属性(必须有值,值必须用引号括起)
可以使用单引号,也可以使用双引号,但要始终保持一致
一个XML文件有很多属性,要么都用单引号要么都用双引号(个人推荐用双引号)
<bookname isbn="xxx123">XML应用大全</bookname>是正确的
<bookname isbn='xxx123'>XML应用大全</bookname>是正确的,但IE输出时均以双引号形式输出
<bookname isbn='xxx123">XML应用大全</bookname>是错误的,因为单引号和双引号不能混合使用




CDATA与注释
在特殊的标签CDATA下,所有的标签、实体引用都被忽略,而被XML处理程序一视同仁地当作字符数据看待
CDATA形式<![CDATA[文本内容]]>
注释<!---->引起来的(有时若想让某些XML内容不生效,就可以放在注释中)
示例<name><<''“XML应用大全”''>></name>运行时会出错
             <name><![CDATA[<<''“XML应用大全”''>>]]></name>运行时正常输出<<''“XML应用大全”''>>
             <!--这是我加上的注释-->




处理指示PI(Processing instructions,指示当前的XML文件的内容如何被显示或处理)
语法:<?target arg*?>
例子:使用XSLT处理当前的XML文件:<?xml-stylesheet type="text/xsl" href="book.xsl"?>




格式良好的XML(拥有正确语法的XML)
通过DTD验证的XML是"合法"的XML
格式良好(Well-formed)的XML会遵守以下XML语法规则:
                 XML文件必须有根元素
                 XML文件必须有关闭标签
                 XML标记对大小写敏感
                 XML元素必须被正确的嵌套
                 XML属性必须加引号

你可能感兴趣的:(java,java,java,xml,xml,dom,dom,dom,sax,sax,JavaSE,JavaSE)