1. 程式人生 > 實用技巧 >java操作XML---XML基礎知識

java操作XML---XML基礎知識

一:什麼是XML

XML是一種可擴充套件標記語言(EXtensibleMarkupLanguage),它和HTML很類似,卻又有些不同。

二:XML的特點

1. XML語言是區分大小寫的<a>和<A>是兩種不同的標籤元素。

2. XML沒有預定義的標籤,所有標籤都是自定義的。

3.XML被設計為具有自我描述性。

4.XML是W3C 的推薦標準。

三:XML語法

  這是一段xml文字。

 1 <?xml version="1.0" encoding="utf-8"?> <!--這是xml的申明,必須放在檔案的第一行第一列-->
2 <students> <!--這是根元素,有且僅有一個根元素--> 3 <student> 4 <id>100</id> 5 <name>張三</name> 6 </student> 7 <student> 8 <id>101</id> 9 <name>李四</name> 10 </
student> 11 </students>

語法說明:

  1.第一行是xml申明,它定義了xml的版本資訊和編碼資訊(分別通過version和encoding屬性設定)。xml申明必須放在檔案的第一行,第一列。

  2.第二行是xml根元素。xml中必須有且僅有一個根元素。

  3.其他是根元素下的子孫元素。

  4.xml中的元素必須關閉。有開始標籤必須的有關閉標籤。

  5.xml是區分大小寫的。

  6.元素及屬性的命名只能以字母(包括中文等)開始,不能以數字及下劃線開始,不能包含空格,不能以字元 “xml”(或者 XML、Xml)開始。最好不要包含 點(.),冒號(:)以及破折號(-)。

  7.xml屬性的值必須加英文格式的引號。

  8.xml中空格回車換行會被保留,這和HTML有很大的不同(HTML只保留一個空格)。

四:xml中的轉義字元

  xml中有5個預定義的轉移字元 小於號(<),大於號(>),和號(&),單引號(’),雙引號(”)。

五:xml的dtd約束

  1.xml檔案匯入本地dtd約束

語法: <!DOCTYPE 根元素名稱 SYSTEM “本地dtd檔案路徑”>

  例項:<!DOCTYPE students SYSTEM "my.dtd">

  2.xml檔案匯入網路dtd約束

  語法:<!DOCTYPE 根元素名稱 PUBLIC “網路dtd檔案地址”>

  例項:<!DOCTYPE students PUBLIC "http://xxx.com/xxx/xxx.dtd">

  DTD學習入口

六:xml的schema約束

  1.schema約束檔案就是一個xml。

根節點必須是schema

xmlns:固定值:http://www.w3.org/2001/XMLSchema 表示它是一個約束檔案

   targetNamespace:約束檔案的地址,一般是一個url地址,這裡示例為:http://www.xxx.com

  <?xml version="1.0" encoding="utf-8"?>

    <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.xxx.com">

      ......

    </schema>

  2.xml檔案引入schema約束

語法:<根元素 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="targetNamespace" xsi:schemaLocation="targetNamespaceschema檔名稱.xsd">

  xmlns:xsi:這裡的xsi是一個別名,可以使用任意名稱,這裡只是為了和xmlns屬性區分,保持屬性值唯一性。

       這個屬性的值是一個固定值:http://www.w3.org/2001/XMLSchema-instance

       instance表示這個xml檔案不是一個schema約束

  xmlns:這裡寫入schema的targetNamespace內容

  xsi:schemaLocation:schema檔案的地址:包括targetNamespace+空格+schema檔名稱

  例項:<students xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.xxx.com" xsi:schemaLocation="http://www.xxx.com xxx.xsd">

  Schema學習入口