教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

XML是什么:可拓展標(biāo)記語言

更新時間:2019年01月10日13時29分 來源:傳智播客 瀏覽次數(shù):

  XML是什么:可拓展標(biāo)記語言

  XML的作用: 主要作為配置文件使用,也可以作為一種數(shù)據(jù)協(xié)議進(jìn)行數(shù)據(jù)跨平臺傳輸

  XML的缺點: 由于寫法繁瑣不可以省略,浪費流量

  XML的語法格式:

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

  <根標(biāo)簽>

  <子標(biāo)簽>

  內(nèi)容 

  語法書寫需要注意的點:

  1.不i需座位第一行第一列

  2.一個XML文檔中只能有一個根標(biāo)簽

  3.根標(biāo)簽中才支持子標(biāo)簽

  4.標(biāo)簽中可以存在屬性與內(nèi)容

  5.XML文件后綴名為.xml

  6.encoding屬性的默認(rèn)編碼為國際標(biāo)準(zhǔn)編碼 ISO-8859-1

  CDATA  

  約束,限制

  dtd約束和schema約束的區(qū)別

  1.dtd約束文件后綴名是.dtd, schema的文件后綴名是xsd

  2.schema約束比dtd約束的功能更加強大

  3.dtd約束只能引入一個約束文件

  4.schema約束只是命名空間(也叫名稱空間),namespace

  xml的解析方式(原理!!)

  1.dom解析

  把文檔全部加載,可以對文檔進(jìn)行增刪改查,對內(nèi)存占用較大,可能導(dǎo)致內(nèi)存溢出

  2.sax解析

  逐行解析,解析基于事件驅(qū)動,只能讀取,對內(nèi)存開銷小,速度快

  xml的解析器有哪些(解析xml的jar包)?

  jaxp

  *dom4j

  *jsoup(已經(jīng)開始學(xué)習(xí)的)

  pull(基于安卓的解析器)

  XML如何借助第三方j(luò)ar包進(jìn)行解析

  關(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對象用來獲取指定標(biāo)簽的Element對象

  5.Element對象作用,獲取element對象,獲取屬性值,獲取內(nèi)容

  6.jsoup中node是document和element的超類

  jsoup使用步驟

  1.加載xml文件以獲取document對象

  2.通過document對象獲取指定標(biāo)簽(從整個文檔中搜索)

  3.通過指定標(biāo)簽可以繼續(xù)查找子標(biāo)簽(從當(dāng)前標(biāo)簽搜索子元素)

  4.通過標(biāo)簽獲取屬性值或者內(nèi)容->屬性值而不是屬性

  方法:attr("屬性名稱)

  text()

  html()

  快速獲取指定標(biāo)簽

  選擇器:

  標(biāo)簽選擇器,屬性選擇器,子元素選擇器,后代選擇器...

  xpath:

  1.導(dǎo)入JsoupXpath-0.3.2.jar

  2.獲取document對象

  3.將對象轉(zhuǎn)換成JXDocument對象 JXDocument 對象名 new JXDocument(document)

  4.調(diào)用方法獲取指定標(biāo)簽 對象名.seIN("//標(biāo)簽名(無視嵌套找到所有)")返回list(JXNode)

  5.獲取屬性值或者文本內(nèi)容 text() html() attr("屬性名)返回屬性值



作者:傳智播客JavaEE培訓(xùn)學(xué)院

首發(fā):http://java.itcast.cn

0 分享到:
和我們在線交談!