1、引言

  在使用Java时经常遇到使用XML的情况,而因为对XML不太了解,经常配置时粘贴复制,现在对它进行总结,以备以后使用。

2、XML常见的定义



 (1) XML(Extensible Markup Language):即可扩展标记语言,它的特性如下:



  • 可扩展标记语言是一种很像超文本标记语言的标记语言。
  • 它的设计宗旨是传输数据,而不是显示数据。
  • 它的标签没有被预定义。您需要自行定义标签。
  • 它被设计为具有自我描述性。

  (2) schema:用于描述XML文档结构的文件,它用于可替代文档类型定义(外语缩写:DTD);XML Schema有时又称为XML Schema Definition,所以也会称为XSD。因此Schema文件是以xsd为后缀的。它主要规定了哪些元素和属性可以在XML中出现,哪些不可以出现。并且schema还可以定义数据类型。



  schema描述某个指定的国家的实例:    



<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema">
   <xs:element name="country" type="Country">
     <xs:complexType name="Country">
      <xs:sequence>
       <xs:element name="name" type="xs:string"/>
       <xs:element name="population" type="xs:decimal"/>
      </xs:sequence>
     </xs:complexType>
   </xs:element>
</xs:schema>



  一份遵从这个视图的XML文件:     



<country
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:noNamespaceSchemaLocation="country.xsd">
  <name>France</name>
  <population>59.7</population>
  </country>



  (3) xmlns(XML Namespaces):即XML的命名空间,因为XML文件的标签名称都是自定义的,自己写的和其他人定义的标签很有可能会重命的现象,所以用namespace来区分这个xml文件和其他的xml文件,类似于java中的package。



 (4) xsi(xml schema instance):是指xml文件遵守xml规范,是指具体用到的schema资源文件里定义的元素所准守的规范。例如:          



xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"



  上面的例子定义了一个Schema的实例命名空间。只有作了这个定义才能使用schemaLocation属性。xsi:schemaLocation是指具体用到的schema资源



xsi:schemaLocation= "http://www.springframework.org/schema/beans
 http://www.springframework.org/schema/beans/spring-beans.xsd"



  schemaLocation属性由成对的值组成,可以有多对。因为一个XML文档可以有多个命名空间,所以schemaLocation值可以有多对。第一个"http://www.springframework.org/schema/beans"是要使用schema进行有效验证的命名空间的元素。而"http://www.springframework.org/schema/beans/spring-beans.xsd"是要使用的schema文档的路径。

 3、XML实例

XML实例如下所示:   



<?xml version="1.0" encoding= "UTF-8"?>
<beans xmlns= "http://www.springframework.org/schema/beans"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:util="http://www.springframework.org/schema/util"
     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
     http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
    .....
</beans>



在上面的实例中,可知beans是该XML文件的根节点标签名称。xmlns:util是指命名空间util,util命名空间的Xsi(XML schema instance)的地址为"http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"。