XMLcss
概念:可擴展標記語言,標籤都是自定義html
功能:存儲數據網絡
一、配置文件dom
二、在網絡中傳輸工具
XML和HTML的區別:一、xml標籤都是自定義的,html標籤都是預約義的編碼
二、xml的語法嚴格,html語法鬆散url
三、xml是存儲數據的,html是展現數據的操作系統
語法:一、xml文檔的後綴名 .xmlxml
二、xml第一行必須定義爲文檔聲明 <? xml version = '1.0' ?>htm
三、xml文檔中有且僅有一個根標籤
四、屬性值必須使用引號(單雙均可)引發來
五、標籤必須正確關閉
六、xml標籤名稱區分大小寫
組成部分:一、文檔聲明
格式:<? xml 屬性列表 ?>
屬性列表:version:版本號,必須屬性
encoding:編碼方式,告知解析引擎當前文檔使用的字符集,默認值:ISO-8859-1
standalone:是否獨立,取值yes , no
二、指令
結合css
三、標籤
標籤名稱自定義規則:一、名稱能夠包含字母、數字以及其餘的字符
二、名稱不能以數字或者標點符號開始
三、名稱不能以字母xml(Xml,Xml等等)開始
四、名稱不能包含空格
四、屬性
id屬性值惟一
五、文本
CDATA區:在該區域中的數據會被原樣展現
格式:<![CDATA][ 數據 ]>
XML的約束:規定xml文檔的書寫規則
分類:DTD:一種簡單的約束技術
Schema:一種複雜的約束技術
DTD:引入dtd文檔到xml文檔中
內部dtd:將約束規則定義在xml文檔中
<! DOCTYPE 根標籤名 [約束內容]>
外部dtd:將約束的規則定義在外部的dtd文件中
本地:<! DOCTYPE 根標籤名 SYSTEM 「dtd文件的位置」>
網絡:<! DOCTYPE 根標籤名 PUBLIC 「dtd文件名字」「dtd文件的位置URL」>
Schema:
引入:一、填寫xml文檔的根目錄
二、引入xsi前綴
三、引入xsd文件的命名空間
四、爲每一個xsd約束聲明一個前綴
XML的解析:
讀取:將文檔中的數據讀取到內存中
寫入:將內存中的數據保存到xml文檔中,持久化存儲
方式:
一、DOM:將標記語言文檔一次性加載進內存,在內存中造成一棵DOM樹
優勢:操做方便,能夠對文檔進行CRUD的全部操做
缺點:佔內存
二、SAX:逐行讀取,基於事件驅動
優勢:不佔內存
缺點:只能讀取,不能增刪改
xml常見的解析器:
一、JAXP:sun公司提供的解析器,支持dom和sax思想
二、DOM4J:一款很是優秀的解析器
三、Jsoup:Java的HTML解析器
四、PULL:安卓操做系統內置的解析器,sax方式
Jsoup:
使用步驟:一、導入jar包
二、獲取document對象
三、獲取對應標籤的Element 對象
四、獲取數據
對象的使用:一、Jsoup:工具類,能夠解析html或xml文檔,返回Document
方法:parse:解析html或xml文檔,返回Document
parse(File in,string charsetName):解析xml或html文件的
parse(String html):解析xml或html字符串
parse(URL url,int timeoutMillis):經過網絡路徑獲取指定的html或xml的文檔對象
二、Document:
一、獲取Element:
getElementById(String id):根據id屬性值獲取惟一的element對象
getElementsByTag(String tagName):根據標籤名稱獲取元素對象集合
getElementsByAttribute(String key):根據屬性名稱獲取元素對象集合
getElementsByAttributeValue(String key,String Value):根據屬性名稱和屬性值獲取元素對象集合
三、Element:
一、獲取子元素對象
getElementById(String id):根據id屬性值獲取惟一的element對象
getElementsByTag(String tagName):根據標籤名稱獲取元素對象集合
getElementsByAttribute(String key):根據屬性名稱獲取元素對象集合
getElementsByAttributeValue(String key,String Value):根據屬性名稱和屬性值獲取元素對象集合
二、獲取屬性值
String attr(String key):根據屬性名稱獲取屬性值
三、獲取文本內容
String text():獲取文本內容
String html():獲取標籤體的因此內容
五、Node:節點對象
快捷查詢方式:
一、selector:選擇器
Element select(String cssQuery)
二、XPath:
使用Jsoup的XPath須要額外導入jar包