大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Javaweb開發實戰視頻,XML學習整理

Javaweb開發實戰視頻,XML學習整理

更新時間:2020-05-08 16:23:38 來源:動力節點 瀏覽2107次

JavaWeb開發能力是Java程序員的必備基礎能力,因此掌握它十分重要。今天本文要和大家分享的是JavaWeb開發中有關XML學習筆記的整理。主要內容包括了XML的概念、XML的語法、約束和解析。感興趣的朋友就一起來看看吧!

Javaweb開發實戰視頻,XML學習整理

1.XML的概念

XML全稱是ExtensibleMarkupLanguage,它是一種可擴展標記語言。所謂的可擴展,指的是標簽都是自定義的。XML的功能是存儲數據,包括配置文件和在網絡中傳輸。XML與html的區別是XML標簽都是自定義的,而html標簽是預定義。XML的語法嚴格但html語法松散。另外XML是存儲數據的,html是展示數據

2,XML的語法

(1)基本語法:

  • xml文檔的后綴名.xml
  • xml第一行必須定義為文檔聲明
  • xml文檔中有且僅有一個根標簽
  • 屬性值必須使用引號(單雙都可)引起來
  • 標簽必須正確關閉
  • xml標簽名稱區分大小寫

(2)快速入門:

<?xmlversion='1.0'?>
<users>
<userid='1'>
<name>zhangsan</name>
23
<gender>male</gender>
<br/>
</user>
<userid='2'>
<name>lisi</name>
24
<gender>female</gender>
</user>
</users>

(3)組成部分:

1)文檔聲明

格式:<?xml屬性列表?>

屬性列表:

version:版本號,必須的屬性

encoding:編碼方式。告知解析引擎當前文檔使用的字符集,默認值:ISO-8859-1

standalone:是否獨立

取值:

yes:不依賴其他文件

no:依賴其他文件

2)指令:

<?xml-stylesheettype="text/css"href="a.css"?>

3)標簽:標簽名稱自定義的

規則:

名稱可以包含字母、數字以及其他的字符;名稱不能以數字或者標點符號開始;名稱不能以字母xml(或者XML、Xml等等)開始;名稱不能包含空格

4)屬性:id屬性值唯一

5)文本:

 CDATA區:在該區域中的數據會被原樣展示.

 格式:<![CDATA[數據]]>

3.約束:規定xml文檔的書寫規則

作為框架的使用者需要能夠在xml中引入約束文檔,能夠簡單的讀懂約束文檔。其分類有:DTD一種簡單的約束技術。DTD引入dtd文檔到xml文檔中;內部dtd:將約束規則定義在xml文檔中;外部dtd:將約束的規則定義在外部的dtd文件中;本地:<!DOCTYPE根標簽名SYSTEM"dtd文件的位置">;網絡:<!DOCTYPE根標簽名PUBLIC"dtd文件名字""dtd文件的位置URL">。Schema一種復雜的約束技術。引入填寫xml文檔的根元素,引入xsi前綴.

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"引入xsd文件命名空間.
xsi:schemaLocation="http://www.itcast.cn/xmlstudent.xsd"為每一個xsd約束聲明一個前綴,作為標識xmlns="http://www.itcast.cn/xml"
<studentsxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.itcast.cn/xml"
xsi:schemaLocation="http://www.itcast.cn/xmlstudent.xsd">

4.解析

(1)操作xml文檔

  • 解析(讀取):將文檔中的數據讀取到內存中
  • 寫入:將內存中的數據保存到xml文檔中。持久化的存儲

(2)解析xml的方式:

  • DOM:將標記語言文檔一次性加載進內存,在內存中形成一顆dom樹。優點是操作方便,可以對文檔進行CRUD的所有操作。缺點是占內存。
  • SAX:逐行讀取,基于事件驅動的。其優點是不占內存,缺點是只能讀取,不能增刪改

(3)xml常見的解析器:

  • JAXP:sun公司提供的解析器,支持dom和sax兩種思想
  • DOM4J:一款非常優秀的解析器
  • Jsoup:jsoup是一款Java的HTML解析器,可直接解析某個URL地址、HTML文本內容。它提供了一套非常省力的API,可通過DOM,CSS以及類似于jQuery的操作方法來取出和操作數據。
  • PULL:Android操作系統內置的解析器,sax方式的。

(4)Jsoup

jsoup是一款Java的HTML解析器,可直接解析某個URL地址、HTML文本內容。它提供了一套非常省力的API,可通過DOM,CSS以及類似于jQuery的操作方法來取出和操作數據。

1)快速入門:

步驟是導入jar包;獲取Document對象;獲取對應的標簽Element對象;獲取數據。代碼如下:

//2.1獲取student.xml的path
Stringpath=JsoupDemo1.class.getClassLoader().getResource("student.xml").getPath();
//2.2解析xml文檔,加載文檔進內存,獲取dom樹--->Document
Documentdocument=Jsoup.parse(newFile(path),"utf-8");
//3.獲取元素對象Element
Elementselements=document.getElementsByTag("name");
System.out.println(elements.size());
//3.1獲取第一個name的Element對象
Elementelement=elements.get(0);
//3.2獲取數據
Stringname=element.text();
System.out.println(name);

2)對象的使用:

  • Jsoup:工具類,可以解析html或xml文檔,返回Document
  • parse:解析html或xml文檔,返回Document
  • parse(Filein,StringcharsetName):解析xml或html文件的。
  • parse(Stringhtml):解析xml或html字符串
  • parse(URLurl,inttimeoutMillis):通過網絡路徑獲取指定的html或xml的文檔對象

3)Document:文檔對象。代表內存中的dom樹

獲取Element對象

  • getElementById(Stringid):根據id屬性值獲取唯一的element對象
  • getElementsByTag(StringtagName):根據標簽名稱獲取元素對象集合
  • getElementsByAttribute(Stringkey):根據屬性名稱獲取元素對象集合
  • getElementsByAttributeValue(Stringkey,Stringvalue):根據對應的屬性名和屬性值獲取

4)元素對象集合

Elements:元素Element對象的集合。可以當做ArrayList<Element>來使用

5)快捷查詢方式:

①selector:選擇器

使用的方法:Elementsselect(StringcssQuery)

語法:參考Selector類中定義的語法

②XPath:XPath即為XML路徑語言,它是一種用來確定XML(標準通用標記語言的子集)文檔中某部分位置的語言

使用Jsoup的Xpath需要額外導入jar包。

查詢w3cshool參考手冊,使用xpath的語法完成查詢

代碼:

//1.獲取student.xml的path
Stringpath=JsoupDemo6.class.getClassLoader().getResource("student.xml").getPath();
//2.獲取Document對象
Documentdocument=Jsoup.parse(newFile(path),"utf-8");
//3.根據document對象,創建JXDocument對象
JXDocumentjxDocument=newJXDocument(document);
//4.結合xpath語法查詢
//4.1查詢所有student標簽
ListjxNodes=jxDocument.selN("http://student");
for(JXNodejxNode:jxNodes){
System.out.println(jxNode);
}

System.out.println("--------------------");
//4.2查詢所有student標簽下的name標簽
ListjxNodes2=jxDocument.selN("http://student/name");
for(JXNodejxNode:jxNodes2){
System.out.println(jxNode);
}

System.out.println("--------------------");
//4.3查詢student標簽下帶有id屬性的name標簽
ListjxNodes3=jxDocument.selN("http://student/name[@id]");
for(JXNodejxNode:jxNodes3){
System.out.println(jxNode);
}

System.out.println("--------------------");
//4.4查詢student標簽下帶有id屬性的name標簽并且id屬性值為itcast
ListjxNodes4=jxDocument.selN("http://student/name[@id='itcast']");
for(JXNodejxNode:jxNodes4){
System.out.println(jxNode);
}

以上就是動力節點java培訓機構的小編針對“Javaweb開發實戰視頻,XML學習整理”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務

Javaweb熱門基礎學習

EL&JSTL:http://www.dabaquan.cn/javavideo/122.html

Filter&Listener:http://www.dabaquan.cn/javavideo/121.html

JSP:http://www.dabaquan.cn/javavideo/120.html

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 毛片视频免费观看 | 国产免费精彩视频 | 久久99精品国产 | 日本高清视频www夜色资源 | 天天操天天操天天操天天操 | 中文字幕三级理论影院 | 国产精品伦理 | 激情福利| 天天射天天操天天干 | 色婷婷色综合激情国产日韩 | 国产伦精品一区二区三区高清 | 有啥免费毛片呢 | 日日摸日日碰夜夜97 | 日日噜噜夜夜狠狠视频buoke | 四虎成人精品在永久在线观看 | 理论片毛片| 夜夜撸天天操 | 久久精品国产99久久3d动漫 | 国内揄拍国内精品久久 | 波多野结衣一区二区三区 | 国产精品麻豆一区二区 | 狠狠色丁香久久婷婷 | 99青青青精品视频在线 | 久久国产精品男女热播 | 在线成人aa在线看片 | 欧美高清在线精品一区二区不卡 | 欧美另类亚洲一区二区 | 夜夜做日日做夜夜爽 | 91日韩视频| 久热re国产手机在线观看 | 国产国语一级毛片中文 | 免费 黄 色 人成 视频 | 青青99| 4虎最新| 久久久久久久久久久9精品视频 | 在线观看视频中文字幕 | 欧美色欧美亚洲高清在线观看 | 久久做| 亚洲另类精品综合 | 国产精彩视频在线 | www.色在线|