首頁 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實(shí)用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓(xùn) | 在職研 | 自學(xué)考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級 | 職稱英語 | 商務(wù)英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學(xué)習(xí) | 法語 | 德語 | 韓語
計(jì)算機(jī)等級考試 | 軟件水平考試 | 職稱計(jì)算機(jī) | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證
華為認(rèn)證 | Java認(rèn)證
公務(wù)員 | 報(bào)關(guān)員 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 期貨從業(yè)資格 | 司法考試 | 法律顧問 | 導(dǎo)游資格
報(bào)檢員 | 教師資格 | 社會(huì)工作者 | 外銷員 | 國際商務(wù)師 | 跟單員 | 單證員 | 物流師 | 價(jià)格鑒證師
人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業(yè)資格 | 廣告師職業(yè)水平
駕駛員 | 網(wǎng)絡(luò)編輯
衛(wèi)生資格 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 執(zhí)業(yè)護(hù)士
會(huì)計(jì)從業(yè)資格考試會(huì)計(jì)證) | 經(jīng)濟(jì)師 | 會(huì)計(jì)職稱 | 注冊會(huì)計(jì)師 | 審計(jì)師 | 注冊稅務(wù)師
注冊資產(chǎn)評估師 | 高級會(huì)計(jì)師 | ACCA | 統(tǒng)計(jì)師 | 精算師 | 理財(cái)規(guī)劃師 | 國際內(nèi)審師
一級建造師 | 二級建造師 | 造價(jià)工程師 | 造價(jià)員 | 咨詢工程師 | 監(jiān)理工程師 | 安全工程師
質(zhì)量工程師 | 物業(yè)管理師 | 招標(biāo)師 | 結(jié)構(gòu)工程師 | 建筑師 | 房地產(chǎn)估價(jià)師 | 土地估價(jià)師 | 巖土師
設(shè)備監(jiān)理師 | 房地產(chǎn)經(jīng)紀(jì)人 | 投資項(xiàng)目管理師 | 土地登記代理人 | 環(huán)境影響評價(jià)師 | 環(huán)保工程師
城市規(guī)劃師 | 公路監(jiān)理師 | 公路造價(jià)師 | 安全評價(jià)師 | 電氣工程師 | 注冊測繪師 | 注冊計(jì)量師
繽紛校園 | 實(shí)用文檔 | 英語學(xué)習(xí) | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲

2011年計(jì)算機(jī)等考二級JAVA學(xué)習(xí)精華整理(74)

考試吧整理了2011年計(jì)算機(jī)的等考二級JAVA學(xué)習(xí)精華,幫助考生備考。

  從上面得到的Document對象開始,我們就可以開始我們的DOM之旅了。使用Document對象的getElementsByTagName()方法,我們可以得到一個(gè)NodeList對象,一個(gè)Node對象代表了一個(gè)XML文檔中的一個(gè)標(biāo)簽元素,而NodeList對象,觀其名而知其意,所代表的是一個(gè)Node對象的列表:

  NodeList nl = doc.getElementsByTagName("message");

  我們通過這樣一條語句所得到的是XML文檔中所有標(biāo)簽對應(yīng)的Node對象的一個(gè)列表。然后,我們可以使用NodeList對象的item()方法來得到列表中的每一個(gè)Node對象:

  Node my_node = nl.item(0);

  當(dāng)一個(gè)Node對象被建立之后,保存在XML文檔中的數(shù)據(jù)就被提取出來并封裝在這個(gè)Node中了。在這個(gè)例子中,要提取Message標(biāo)簽內(nèi)的內(nèi)容,我們通常會(huì)使用Node對象的getNodeValue()方法:

  String message = my_node.getFirstChild().getNodeValue();

  請注意,這里還使用了一個(gè)getFirstChild()方法來獲得message下面的第一個(gè)子Node對象。雖然在message標(biāo)簽下面除了文本外并沒有其它子標(biāo)簽或者屬性,但是我們堅(jiān)持在這里使用getFirseChild()方法,這主要和W3C對DOM的定義有關(guān)。W3C把標(biāo)簽內(nèi)的文本部分也定義成一個(gè)Node,所以先要得到代表文本的那個(gè)Node,我們才能夠使用getNodeValue()來獲取文本的內(nèi)容。

  現(xiàn)在,既然我們已經(jīng)能夠從XML文件中提取出數(shù)據(jù)了,我們就可以把這些數(shù)據(jù)用在合適的地方,來構(gòu)筑應(yīng)用程序。

  下面的內(nèi)容,我們將更多的關(guān)注DOM,為DOM作一個(gè)較為詳細(xì)的解析,使我們使用起來更為得心應(yīng)手。

  DOM詳解

  1.基本的DOM對象

  DOM的基本對象有5個(gè):Document,Node,NodeList,Element和Attr。下面就這些對象的功能和實(shí)現(xiàn)的方法作一個(gè)大致的介紹。

  Document對象代表了整個(gè)XML的文檔,所有其它的Node,都以一定的順序包含在Document對象之內(nèi),排列成一個(gè)樹形的結(jié)構(gòu),程序員可以通過遍歷這顆樹來得到XML文檔的所有的內(nèi)容,這也是對XML文檔操作的起點(diǎn)。我們總是先通過解析XML源文件而得到一個(gè)Document對象,然后再來執(zhí)行后續(xù)的操作。此外,Document還包含了創(chuàng)建其它節(jié)點(diǎn)的方法,比如createAttribut()用來創(chuàng)建一個(gè)Attr對象。它所包含的主要的方法有:

  createAttribute(String):用給定的屬性名創(chuàng)建一個(gè)Attr對象,并可在其后使用setAttributeNode方法來放置在某一個(gè)Element對象上面。

  createElement(String):用給定的標(biāo)簽名創(chuàng)建一個(gè)Element對象,代表XML文檔中的一個(gè)標(biāo)簽,然后就可以在這個(gè)Element對象上添加屬性或進(jìn)行其它的操作。

  createTextNode(String):用給定的字符串創(chuàng)建一個(gè)Text對象,Text對象代表了標(biāo)簽或者屬性中所包含的純文本字符串。如果在一個(gè)標(biāo)簽內(nèi)沒有其它的標(biāo)簽,那么標(biāo)簽內(nèi)的文本所代表的Text對象是這個(gè)Element對象的唯一子對象。

  getElementsByTagName(String):返回一個(gè)NodeList對象,它包含了所有給定標(biāo)簽名字的標(biāo)簽。

  getDocumentElement():返回一個(gè)代表這個(gè)DOM樹的根節(jié)點(diǎn)的Element對象,也就是代表XML文檔根元素的那個(gè)對象。

  Node對象是DOM結(jié)構(gòu)中最為基本的對象,代表了文檔樹中的一個(gè)抽象的節(jié)點(diǎn)。在實(shí)際使用的時(shí)候,很少會(huì)真正的用到Node這個(gè)對象,而是用到諸如Element、Attr、Text等Node對象的子對象來操作文檔。Node對象為這些對象提供了一個(gè)抽象的、公共的根。雖然在Node對象中定義了對其子節(jié)點(diǎn)進(jìn)行存取的方法,但是有一些Node子對象,比如Text對象,它并不存在子節(jié)點(diǎn),這一點(diǎn)是要注意的。Node對象所包含的主要的方法有:

  appendChild(org.w3c.dom.Node):為這個(gè)節(jié)點(diǎn)添加一個(gè)子節(jié)點(diǎn),并放在所有子節(jié)點(diǎn)的最后,如果這個(gè)子節(jié)點(diǎn)已經(jīng)存在,則先把它刪掉再添加進(jìn)去。

  getFirstChild():如果節(jié)點(diǎn)存在子節(jié)點(diǎn),則返回第一個(gè)子節(jié)點(diǎn),對等的,還有g(shù)etLastChild()方法返回最后一個(gè)子節(jié)點(diǎn)。

  getNextSibling():返回在DOM樹中這個(gè)節(jié)點(diǎn)的下一個(gè)兄弟節(jié)點(diǎn),對等的,還有g(shù)etPreviousSibling()方法返回其前一個(gè)兄弟節(jié)點(diǎn)。

  getNodeName():根據(jù)節(jié)點(diǎn)的類型返回節(jié)點(diǎn)的名稱。

  getNodeType():返回節(jié)點(diǎn)的類型。

  getNodeValue():返回節(jié)點(diǎn)的值。

  hasChildNodes():判斷是不是存在有子節(jié)點(diǎn)。

  hasAttributes():判斷這個(gè)節(jié)點(diǎn)是否存在有屬性。

  getOwnerDocument():返回節(jié)點(diǎn)所處的Document對象。

  insertBefore(org.w3c.dom.Node new,org.w3c.dom.Node ref):在給定的一個(gè)子對象前再插入一個(gè)子對象。

  removeChild(org.w3c.dom.Node):刪除給定的子節(jié)點(diǎn)對象。

  replaceChild(org.w3c.dom.Node new,org.w3c.dom.Node old):用一個(gè)新的Node對象代替給定的子節(jié)點(diǎn)對象。

上一頁  1 2 3 4 5 6 下一頁
  相關(guān)推薦:

  計(jì)算機(jī)等級考試二級Java經(jīng)典算法大全匯總

  2010年9月計(jì)算機(jī)等級考試成績查詢時(shí)間匯總

   2011計(jì)算機(jī)等級考試二級JAVA學(xué)習(xí)精華匯總

文章搜索
版權(quán)聲明:如果計(jì)算機(jī)等級考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本計(jì)算機(jī)等級考試網(wǎng)內(nèi)容,請注明出處。