大战熟女丰满人妻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://m.dabaquan.cn/javavideo/122.html

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

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

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 日本高清一| 日本一区二区三区高清在线观看 | 亚洲综合欧美日韩 | 97视频在线视频 | 我要看欧美一级毛片 | 成年人香蕉视频 | 老子影院午夜伦手机不四虎 | 亚洲激情视频在线播放 | 999国产精品 | 欧美日韩精品一区二区三区 | 精品一区二区在线欧美日韩 | 国产一区自拍视频 | 四虎成人精品 | 一区二区三区免费视频观看 | 香蕉国产在线 | 久久艹精品 | 中文字幕最新中文字幕中文字幕 | 亚洲精品成人a | 四虎最新紧急入口4hu | 日日碰狠狠添天天爽爽爽 | 色婷婷精品视频 | 精品精品国产高清a毛片 | 久久亚洲精品久久久久 | 午夜一级毛片不卡 | 欧美激情一区二区三区中文字幕 | 国产91成人精品亚洲精品 | 啊用力嗯快国产在线观看 | 爽爽影院在线免费观看 | 天堂成人av | 波多野结衣一区 | 俺去鲁婷婷六月色综合 | 日韩黄a级成人毛片 | 国产成人精品视频频 | 最新av| 久久亚洲国产精品一区二区 | 欧美另类黑人巨大videos | 国产亚洲精品久久午夜 | 国产女人18一级毛片视频 | 日韩欧美视频在线播放 | 99久久免费观看 | 最近中文字幕免费版在线3 最近中文字幕无吗高清视频 |