更新時間:2020-05-08 16:23:38 來源:動力節點 瀏覽2107次
JavaWeb開發能力是Java程序員的必備基礎能力,因此掌握它十分重要。今天本文要和大家分享的是JavaWeb開發中有關XML學習筆記的整理。主要內容包括了XML的概念、XML的語法、約束和解析。感興趣的朋友就一起來看看吧!
XML全稱是ExtensibleMarkupLanguage,它是一種可擴展標記語言。所謂的可擴展,指的是標簽都是自定義的。XML的功能是存儲數據,包括配置文件和在網絡中傳輸。XML與html的區別是XML標簽都是自定義的,而html標簽是預定義。XML的語法嚴格但html語法松散。另外XML是存儲數據的,html是展示數據
(1)基本語法:
(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[數據]]>
作為框架的使用者需要能夠在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">
(1)操作xml文檔
(2)解析xml的方式:
(3)xml常見的解析器:
(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)對象的使用:
3)Document:文檔對象。代表內存中的dom樹
獲取Element對象
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
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習