freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

itjob就業(yè)培訓(xùn)java教材22-wenkub

2023-04-21 00:40:03 本頁(yè)面
 

【正文】 況并不鮮見(jiàn)。DOM以及廣義的基于樹(shù)的處理具有幾個(gè)優(yōu)點(diǎn)首先,由于樹(shù)在內(nèi)存中是持久的,因此可以修改它以便應(yīng)用程序能對(duì)數(shù)據(jù)和結(jié)構(gòu)作出更改。DOM使用父子關(guān)系。 ?xml version= encoding=UTF8?studentnamegoudan/nameage28/age/student studentagenamegoudan28DOM還提供各種不同的功能,可用于分析和操作樹(shù)的內(nèi)容和結(jié)構(gòu)。目前,有三個(gè)級(jí)別的DOM是正式的推薦標(biāo)準(zhǔn),被命名為DOM Level 1,DOM Level 2 和DOM Level 3。如果您的代碼不夠健壯,它從XML文檔中得到輸入數(shù)據(jù),并且該代碼要求文檔遵循特定的DTD或者模式,那么您可能就不得不驗(yàn)證所有的內(nèi)容,不論代價(jià)多么高,多么浪費(fèi)時(shí)間。)那么為什么要使用非驗(yàn)證解析器呢?有兩個(gè)很好的理由:速度和效率。如果XML解析器發(fā)現(xiàn)XML文檔不是結(jié)構(gòu)良好的,XML Specification要求解析器報(bào)告一個(gè)致命錯(cuò)誤。n 有效文檔:這些結(jié)構(gòu)良好的文檔同時(shí)還符合文檔類(lèi)型定義(DTD)或XML Schema所定義的規(guī)則。一般而言使用解析器需要以下步驟:n 創(chuàng)建一個(gè)解析器對(duì)象n 使解析器指向您的XML文檔n 處理結(jié)果顯然第三步最為復(fù)雜。第二十二章:使用Java解析XML ITjob就業(yè)培訓(xùn)第二十二章:使用Java解析XML學(xué)習(xí)目標(biāo)n 解析器的介紹n 文檔對(duì)象模型(DOM)解析實(shí)例n SAX解析實(shí)例n DOM4J解析實(shí)例n JDOM解析實(shí)例 n JAVA操縱XML 實(shí)例講解 解析器的介紹XML解析器是讀取XML文檔并分析其結(jié)構(gòu)的代碼。一旦知道了XML文檔的內(nèi)容,比方說(shuō),您可能希望生成一個(gè)Web頁(yè)面,創(chuàng)建一個(gè)訂單或者做一個(gè)餅圖。n 無(wú)效文檔:除以上兩種文檔外的所有其他文檔。驗(yàn)證解析器:在解析時(shí)驗(yàn)證XML文檔,而非驗(yàn)證解析器:不驗(yàn)證文檔。XML解析器讀取DTD或者模式,建立規(guī)則引擎保證XML文檔中的每個(gè)元素和屬性都遵循這些規(guī)則,需要做大量的工作。DOM是W3C推薦的正式標(biāo)準(zhǔn)。本章中所討論的DOM功能都是DOM Level 2的一部分。DOM是處理XML數(shù)據(jù)的傳統(tǒng)方法。例如,在這個(gè)例子中,student是具有五個(gè)孩子的根元素:三個(gè)文本節(jié)點(diǎn)(空白),以及兩個(gè)元素節(jié)點(diǎn)name和age。它還可以在任何時(shí)候在樹(shù)中上下導(dǎo)航,而不是像SAX那樣是一次性的處理。此外,創(chuàng)建一棵DOM樹(shù)可能是一個(gè)緩慢的過(guò)程。請(qǐng)看下圖解析過(guò)程: 當(dāng)使用SAX解析器解析一個(gè)XML文檔時(shí),解析器在讀取文檔的過(guò)程中會(huì)生成一系列的事件。而且,由于應(yīng)用程序只是在讀取數(shù)據(jù)時(shí)檢查數(shù)據(jù),因此不需要將數(shù)據(jù)存儲(chǔ)在內(nèi)存中。另一方面,由于應(yīng)用程序沒(méi)有以任何方式存儲(chǔ)數(shù)據(jù),使用SAX來(lái)更改數(shù)據(jù)或在數(shù)據(jù)流中往后移是不可能的。要記住,JDOM在背后包含使用普通SAX或DOM 解析器的適配器; JDOM對(duì)所有主要的(和幾個(gè)次要的)Java XML解析器都提供了適配器,因此不必?fù)?dān)心您的Java XML解析器是否支持JDOM,JDOM在幕后使用的解析器不需要您的干涉。 文檔對(duì)象模型(DOM)解析實(shí)例DOM主要包含下列內(nèi)容:DOM文檔是以層次結(jié)構(gòu)組織的節(jié)點(diǎn)或信息片段的集合。DOM解析過(guò)程(下圖): 利用JAXP把xml文檔的內(nèi)容解析到一個(gè)個(gè)的Java對(duì)象中,只需幾行代碼就能做到這一點(diǎn)。所以當(dāng)在不同的解析器之間進(jìn)行切換時(shí),只需要更改系統(tǒng)變量的值,而不用更改任何代碼。但具體是哪一種解析器,微軟的或者IBM的,對(duì)于程序而言并不重要。而具體對(duì)Document操作的方法,就是由DOM所定義。 當(dāng)一個(gè)Node對(duì)象被建立之后,保存在XML文檔中的數(shù)據(jù)就被提取出來(lái)并封裝在這個(gè)Node中了。W3C把標(biāo)簽內(nèi)的文本部分也定義成一個(gè)Node,所以先要得到代表文本的那個(gè)Node,我們才能夠使用getNodeValue()來(lái)獲取文本的內(nèi)容。此外,Document還包含了創(chuàng)建其它節(jié)點(diǎn)的方法,比如createAttribute()用來(lái)創(chuàng)建一個(gè)Attr對(duì)象。如果在一個(gè)標(biāo)簽內(nèi)沒(méi)有其它的標(biāo)簽,那么標(biāo)簽內(nèi)的文本所代表的Text對(duì)象是這個(gè)Element對(duì)象的唯一子對(duì)象。在實(shí)際使用的時(shí)候,很少會(huì)真正的用到Node這個(gè)對(duì)象,而是用到諸如Element、Attr、Text等Node對(duì)象的子對(duì)象來(lái)操作文檔。 getFirstChild():如果節(jié)點(diǎn)存在子節(jié)點(diǎn),則返回第一個(gè)子節(jié)點(diǎn),對(duì)等的,還有g(shù)etLastChild()方法返回最后一個(gè)子節(jié)點(diǎn)。 getNodeValue():返回節(jié)點(diǎn)的值。insertBefore( new, ref):在給定的一個(gè)子對(duì)象前再插入一個(gè)子對(duì)象??梢院?jiǎn)單的把它看成一個(gè)Node的數(shù)組,我們可以通過(guò)方法來(lái)獲得列表中的元素: getLength():返回列表的長(zhǎng)度。getElementsByTagName(String):返回一個(gè)NodeList對(duì)象,它包含了在這個(gè)標(biāo)簽中其下的子孫節(jié)點(diǎn)中具有給定標(biāo)簽名字的標(biāo)簽。這時(shí)候需要用到getAttributeNodes()方法來(lái)得到一個(gè)Attr對(duì)象來(lái)進(jìn)行進(jìn)一步的操作。也就是說(shuō),Attr其實(shí)是被看作包含它的Element對(duì)象的一部分,它并不作為DOM樹(shù)中單獨(dú)的一個(gè)節(jié)點(diǎn)出現(xiàn)。s website./description /link link textmicrosoft/text url newWindow=no/url authorbill gates/author date day4/day month1/month year2000/year /date descriptionbill39。import 。 DocumentBuilder builder = ()。 for (int i = 0。 ((text).item(0) .getFirstChild().getNodeValue())。 ((author).item(0) .getFirstChild().getNodeValue())。 String month = (month).item(0) .getFirstChild().getNodeValue()。 ((description) .item(0).getFirstChild().getNodeValue())。import 。import 。import 。 ()。 String discription = a good website for it job!。 textseg = (text)。 textseg = (url)。 textseg = (author)。 String day = (rightNow .get())。 Element linkdateday = (day)。 textseg = (month)。 (textseg)。 (linkdate)。 (linkdiscription)。 DOMSource source = new DOMSource(doc)。 } catch (Exception e) { ()。import 。import 。 } // 解析完成后的工作 public void endDocument() throws SAXException { Enumeration e = ()。 } } // 對(duì)每一個(gè)開(kāi)始元屬進(jìn)行處理 public void startElement(String namespaceURI, String localName, String rawName, Attributes atts) throws SAXException { String key = rawName。 count++。 SAXParserFactory spf = ()。 } catch (Exception ex) { ()。import 。import 。 String url = null。 String year = null。 } public void startElement(String p0, String p1, String p2, Attributes
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1