日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

软件交流培训:Extensible Markup Language 可扩展标记语言

發(fā)布時(shí)間:2024/1/1 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 软件交流培训:Extensible Markup Language 可扩展标记语言 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

  概念:Extensible Markup Language 可擴(kuò)展標(biāo)記語言

  xml是可擴(kuò)展的,通過自定義標(biāo)簽。

  用于存儲(chǔ)數(shù)據(jù),主要是存儲(chǔ)配置,在網(wǎng)絡(luò)中傳輸。

  xml的標(biāo)簽都是自定義的,html的標(biāo)簽都是預(yù)定義的。語法嚴(yán)格。

  后綴名是xml

  內(nèi)容第一行必須是文檔聲明:例: ?xml version= 1.0 ?

  一個(gè)xml文件有且僅有一個(gè)根標(biāo)簽。

  屬性值必須用引號(hào)包裹。

  標(biāo)簽必須關(guān)閉

  標(biāo)簽名稱區(qū)分大小寫

  組成部分:

  1.文檔聲明:

  格式: ?xml 屬性列表 ?

  屬性:

  version:版本號(hào),必須的屬性

  encoding:編碼方式。告知解析引擎當(dāng)前文檔使用的字符集,默認(rèn)值: ISO

  standalone:是否獨(dú)立。yes獨(dú)立,no不獨(dú)立

  2.指令:結(jié)合css

  ?xml-stylesheet type= text/css href= a.css ?

  3.標(biāo)簽:規(guī)則:

  可以包含字母、數(shù)字以及其他字符

  不能以數(shù)字或標(biāo)點(diǎn)符號(hào)開頭

  不能以xml開頭

  不能包含空格

  4.屬性:

  id屬性值唯一

? ? ? ?叩丁狼軟件交流培訓(xùn):Extensible Markup Language 可擴(kuò)展標(biāo)記語言

  5.文本:

  CDATA:在該區(qū)域中的數(shù)據(jù)會(huì)被原樣顯示 格式: ![CDATA[數(shù)據(jù)]]

  約束:規(guī)定xml文檔的書寫規(guī)則

  作為框架的使用者(程序員):

  1.能夠在xml中引入約束

  2.能夠讀懂約束

  分類:DTD:簡單的約束技術(shù)

  schema:復(fù)雜的約束技術(shù)

  解析:讀取xml文檔

  方式:

  DOM:一次性把文檔讀取到內(nèi)存中,形成一顆dom樹

  操作方便,可以對(duì)文檔進(jìn)行增刪改查操作,占內(nèi)存

  SAX:逐行讀取,基于事件驅(qū)動(dòng)

  不占內(nèi)存,只能讀,不能增刪改

  常見解析器:

  JAXP:SUN公司提供的解析器,支持dom和sax

  DOM4J:優(yōu)秀

  Jsoup:Java的HTML解析器,可以直接解析某個(gè)url地址的html內(nèi)容,可通過DOM,CSS以及類似于jQuery的操作方法來取出和操作數(shù)據(jù)

  PULL:Android的內(nèi)置解析器,sax方式

  Jsoup使用步驟:

  1.導(dǎo)入jar包

  2.獲取Document對(duì)象

  3.獲取對(duì)應(yīng)的標(biāo)簽Element對(duì)象

  4.獲取數(shù)據(jù)

  代碼例:

  [Java] 純文本查看 復(fù)制代碼

  //2.1獲取student.xml的path String path = JsoupDemo1.class.getClassLoader().getResource( student.xml ).getPath(); //2.2解析xml文檔,加載文檔進(jìn)內(nèi)存,獲取dom樹--- Document Document document = Jsoup.parse(new File(path), utf-8 ); //3.獲取元素對(duì)象 Element Elements elements = document.getElementsByTag( name ); System.out.println(elements.size()); //3.1獲取第一個(gè)name的Element對(duì)象 Element element = elements.get(0); //3.2獲取數(shù)據(jù) String name = element.text(); System.out.println(name);

  1,Jsoup工具類:parse方法

  * parse?(File in, String charsetName):解析xml或html文件的。

  * parse?(String html):解析xml或html字符串

  * parse?(URL url, int timeoutMillis):通過網(wǎng)絡(luò)路徑獲取指定的html或xml的文檔對(duì)象

  2.Document、Element,獲取element對(duì)象

  *getElementById(String id)

  getElementsByTag(String tagName)

  getElementsByAttribute(String key)

  getElementsByAttributeValue(String key, String value)

  3.Element對(duì)象

  String attr(String key)根據(jù)屬性名獲取屬性值

  String text()獲取文本內(nèi)容

  String html()獲取標(biāo)簽體的所有內(nèi)容,包括標(biāo)簽

  * 快捷查詢方式:

  1. selector:選擇器

  * 使用的方法:Elements select?(String cssQuery)

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

  2. XPath:XPath即為XML路徑語言,它是一種用來確定XML(標(biāo)準(zhǔn)通用標(biāo)記語言的子集)文檔中某部分位置的語言

  * 使用Jsoup的Xpath需要額外導(dǎo)入jar包。

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

  * 代碼:

  [Java] 純文本查看 復(fù)制代碼

  //1.獲取student.xml的path String path = JsoupDemo6.class.getClassLoader().getResource( student.xml ).getPath(); //2.獲取Document對(duì)象 Document document = Jsoup.parse(new File(path), utf-8 ); //3.根據(jù)document對(duì)象,創(chuàng)建JXDocument對(duì)象 JXDocument jxDocument = new JXDocument(document); //4.結(jié)合xpath語法查詢 //4.1查詢所有student標(biāo)簽 List JXNode jxNodes = jxDocument.selN( //student ); for (JXNode jxNode : jxNodes) { System.out.println(jxNode); } System.out.println( -------------------- ); //4.2查詢所有student標(biāo)簽下的name標(biāo)簽 List JXNode jxNodes2 = jxDocument.selN( //student/name ); for (JXNode jxNode : jxNodes2) { System.out.println(jxNode); } System.out.println( -------------------- ); //4.3查詢student標(biāo)簽下帶有id屬性的name標(biāo)簽 List JXNode jxNodes3 = jxDocument.selN( //student/name[@id] ); for (JXNode jxNode : jxNodes3) { System.out.println(jxNode); } System.out.println( -------------------- ); //4.4查詢student標(biāo)簽下帶有id屬性的name標(biāo)簽 并且id屬性值為itcast List JXNode jxNodes4 = jxDocument.selN( //student/name[@id= itcast ] ); for (JXNode jxNode : jxNodes4) { System.out.println(jxNode); }

?

總結(jié)

以上是生活随笔為你收集整理的软件交流培训:Extensible Markup Language 可扩展标记语言的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。