更新時間:2019年01月10日13時29分 來源:傳智播客 瀏覽次數(shù):
XML是什么:可拓展標記語言
XML的作用: 主要作為配置文件使用,也可以作為一種數(shù)據(jù)協(xié)議進行數(shù)據(jù)跨平臺傳輸
XML的缺點: 由于寫法繁瑣不可以省略,浪費流量
XML的語法格式:
<>xml version='1.0' encoding = 'utf-8' ?>
<根標簽>
<子標簽>
內(nèi)容
語法書寫需要注意的點:
1.不i需座位第一行第一列
2.一個XML文檔中只能有一個根標簽
3.根標簽中才支持子標簽
4.標簽中可以存在屬性與內(nèi)容
5.XML文件后綴名為.xml
6.encoding屬性的默認編碼為國際標準編碼 ISO-8859-1
CDATA
約束,限制
dtd約束和schema約束的區(qū)別
1.dtd約束文件后綴名是.dtd, schema的文件后綴名是xsd
2.schema約束比dtd約束的功能更加強大
3.dtd約束只能引入一個約束文件
4.schema約束只是命名空間(也叫名稱空間),namespace
xml的解析方式(原理!!)
1.dom解析
把文檔全部加載,可以對文檔進行增刪改查,對內(nèi)存占用較大,可能導致內(nèi)存溢出
2.sax解析
逐行解析,解析基于事件驅(qū)動,只能讀取,對內(nèi)存開銷小,速度快
xml的解析器有哪些(解析xml的jar包)?
jaxp
*dom4j
*jsoup(已經(jīng)開始學習的)
pull(基于安卓的解析器)
XML如何借助第三方jar包進行解析
關(guān)注點(獲取)
1.jar包放在項目根目錄下的libs目錄下
2.要解析的xml文件再src目錄下!!
可以使用類加載器去找文件
String path=類型.class.getClassLoader().getResource("xml文件名").getPath();
inputStream is = 類名.class.getClassLoader().getResourceAsStream("xml文件名")
3.Jsoup的作用加載xml文件獲取document對象
4.document對象用來獲取指定標簽的Element對象
5.Element對象作用,獲取element對象,獲取屬性值,獲取內(nèi)容
6.jsoup中node是document和element的超類
jsoup使用步驟
1.加載xml文件以獲取document對象
2.通過document對象獲取指定標簽(從整個文檔中搜索)
3.通過指定標簽可以繼續(xù)查找子標簽(從當前標簽搜索子元素)
4.通過標簽獲取屬性值或者內(nèi)容->屬性值而不是屬性
方法:attr("屬性名稱)
text()
html()
快速獲取指定標簽
選擇器:
標簽選擇器,屬性選擇器,子元素選擇器,后代選擇器...
xpath:
1.導入JsoupXpath-0.3.2.jar
2.獲取document對象
3.將對象轉(zhuǎn)換成JXDocument對象 JXDocument 對象名 new JXDocument(document)
4.調(diào)用方法獲取指定標簽 對象名.seIN("//標簽名(無視嵌套找到所有)")返回list(JXNode)
5.獲取屬性值或者文本內(nèi)容 text() html() attr("屬性名)返回屬性值
首發(fā):http://java.itcast.cn