1.XML七個組成元素
什麼是XML
- 英文:Extensible Markup Language 可擴展的標記語言
- 標記語言:整個文檔由各種標記組成
- 可擴展:所有的標籤都是自定義的,可以隨意擴展的。如:
<abc></abc>
<你好></你好>
<鳳姐></鳳姐>
XML作用
數據交換:不同的計算機語言之間,不同的操作系統之間進行數據交換。
配置文件:
在後期我們主要用於各種框架的配置文件。以前接觸過的XML文件。c3p0-config.xml
<default-config>
<!--數據庫連接配置-->
<!--驅動-->
<property name="driverClass">com.mysql.jdbc.Driver</property>
<!--連接字符串-->
<property name="jdbcUrl">jdbc:mysql://localhost:3306/day19</property>
<!--用戶名-->
<property name="user">root</property>
<!--密碼-->
<property name="password">root</property>
<!--與連接池相關的配置-->
<!--初始連接數-->
<property name="initialPoolSize">5</property>
<!--最大連接數-->
<property name="maxPoolSize">10</property>
編寫第1個XML文件
編寫xml文檔,用於描述人員信息,person代表一個人員,id是人員的屬性代表人員編號。人員信息包括age年齡、name姓名、sex性別信息。
效果:
1.選擇當前項目鼠標右鍵新建
2.編寫person.xml文件
<!--描述一個人-->
<person id="1">
<name>張三</name>
<age>18</age>
<sex>男</sex>
</person>
3.通過瀏覽器解析XML的內容
注意:
- 安裝了對應的瀏覽器纔可以用的哦
- XML以後通過Java來進行解析,很少直接在瀏覽器上顯示。
2.XML的組成
XML由七種組成元素構成
- 文檔聲明
- 標籤/元素
- 屬性
- 註釋
- 實體字符
- CDATA 字符數據區
- 處理指令
文檔聲明
1.文檔聲明格式
<?xml version="1.0" encoding="UTF-8" ?>
作用:
告訴別人這個是一個XML文件
注意:
以<?xml開頭, 以 ?>結尾 必須放在第一行
聲明的三種屬性
文檔聲明的三個屬性 | 說明 |
---|---|
version | 指定XML文件使用的版本,取值是1.0 |
encoding | 當前XML文件使用的編碼(字符集) UTF-8/GBK |
standalone | 指定當前這個XML文件是否是一個獨立的文件,省略的,默認是獨立文件。 |
版本說明
W3C在1988年2月發佈1.0版本,2004年2月又發佈1.1版本,因爲1.1版本不能向下兼容1.0版本,所以1.1沒有人用。在2004年2月W3C又發佈了1.0版本的第三版。我們學習的還是1.0版本。
元素
標籤就是元素
元素語法格式
有主體內容的元素
<元素名>內容</元素名>
<元素名>: 起始標籤,開始標籤
</元素名>: 結束標籤
標籤是成對出現的,中間放內容
沒有主體內容的元素
<元素名></元素名>
沒有主體內容的元素可以縮寫
<元素名/>
XML標籤命名的要求
- 嚴格區分大小寫: 不行
- 標籤名不能以數字開頭,只能以字母或下劃線開頭,可以是中文: <9miao></9miao>不行
- 標籤名不能包含空格: </na me> 不行
根標籤
沒有其他標籤包裹的就是根標籤
在一個xml文檔中,只允許有一個根標籤
<?xml version="1.0" encoding="UTF-8" ?>
<persons>
<!--描述一個人-->
<person id="1">
<name>張三</name>
<age>18</age>
</person>
<person id="2">
<name>李四</name>
<age>19</age>
</person>
</persons>
屬性
屬性語法格式
<元素名 屬性名="屬性值">內容</元素名>
注意
- 屬性放在開始標籤中
- 屬性值必須放在雙引號或單引號中
- 在一個標籤中,屬性可以有多個,但不能出現同名的屬性
註釋
註釋語法格式
<!-- 註釋 -->
註釋作用
給程序員看的
快捷鍵
註釋: ctrl + /
嵌套
在XML中註釋不能嵌套
實體字符
爲什麼要用實體字符?
因爲很多符號已經被文檔結構所使用,所以在元素體或屬性值中想使用這些符號就必須使用實體字符
語法:
規律:
所有的實體字符都是以 & 開頭, 以;結尾
錯誤寫法:
int age = 10;
if (age < 18) {
}
正確寫法:
int age = 10;
if (age < 18) {
}
字符數據區
爲什麼要字符數據區
如果大量使用實體字符,會導致XML可讀性降低。另一種解決方案:可以使用字符數據區包裹這些字符,只要在字符數據區中的內容,XML解析器會以純文本進行解析。
CDATA字符數據區格式
<>
<!>
<![]>
<![[]]>
<![CDATA[]]>
<![CDATA[
內容
]]>
處理指令
處理指令格式:
<? xxx ?>
<?xml version="1.0" encoding="GBK"?> 文檔聲明就是一個處理指令
<?xml-stylesheet type="text/css" href="person.css"?> 導入外部css文件