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

正文內(nèi)容

第10章xmldom物件模型(存儲(chǔ)版)

  

【正文】 ()。 Node child = (Node)()。 (/title/headbody\n)。 if ( ().equals() ) (WS+br/)。 i++) { int type = (i).getNodeType()。 Worker w = new Worker(h)。charset=Big5 % html head titleGreetings/title /head body % String s = new String((data).getBytes(ISO88591), Big5)。 StringBuffer strBuffer = new StringBuffer()。 // 建立 Transformer物件 // 若不指定任何 xsltFile,則不做任何轉(zhuǎn)換,而直接輸出 Transformer tf = ()。 } Ch10Print import .*。 } // 呼叫方法建立轉(zhuǎn)換輸出的 HTML文件 ((), htmlFile, xsltFile)。 } Ch10_6_2 // 主程式 public static void main(String[] args) throws Exception { String htmlFile = 。 ? 接著使用 transform() 方法將 XML 文件使用 XSLT 文件執(zhí)行轉(zhuǎn)換,如下所示: (new StreamSource(new StringReader(xmlData)), new StreamResult(new FileOutputStream(htmlFile)))。 // 或者 // Object result = (“//book/title/text()”, // doc, )。 public class TestXPath { public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException, XPathExpressionException { // 跟以前載入文件進(jìn)行剖析相同 DocumentBuilderFactory domFactory = ()。 // 利用 XPathFactory 產(chǎn)生 XPath 處理器 XPath xpath = ()。 public class SimpleErrorHandler implements ErrorHandler { public void error(SAXParseException exception) { (error: + ())。 // 明確告知 JAXP 所使用的 Schema 語(yǔ)言 ( // Specify our own schema this overrides the schemaLocation in the xml file //( file:./)。 (1)。 } } 練習(xí)題 ? 請(qǐng)修改 Ch10_4_1 並使其能夠產(chǎn)生 的 XML 文件。 (/+(i).getFirstChild().getNodeValue())。 ( + +())。 // 取得所有的子節(jié)點(diǎn) for ( int i=0。 printXML(root)。 ((PHP 5網(wǎng)頁(yè)設(shè)計(jì)範(fàn)例教本 ))。 // 建立新 XML文件 document = ()。 (element, (), “books”)。 ? 如果想刪除屬性,則是使用 Element 元素物件的removeAttribute() 方法來(lái)刪除屬性,如下所示: // 取得一個(gè) Element 節(jié)點(diǎn) del (instock)。 ? 例如:將 root 節(jié)點(diǎn)新增成為 XML DOM 的根節(jié)點(diǎn),如下所示: (root)。 ? 我們先以建立新的 DOM 為例 ?建立新的 XML DOM 的語(yǔ)法如下: DocumentBuilder db = ()。 NamedNodeMap 集合物件 ? NamedNodeMap 集合物件是元素的屬性集合(類似 Map 的結(jié)構(gòu))。 i ()。 } } Node節(jié)點(diǎn)種類 ge tN o d e Typ e () N o d e 種類 ge tN o d e N am e () ge tN o d e V al u e () ge tA ttr i b u te s () 2 A t t r 屬性 屬性名稱 屬性值 n u l l 4 CD A T A S e c t i o n c da t a s e c t i o n CD A T A 值 n u l l 8 Co m m e n t 註解 c o m m e n t 註解文字內(nèi)容 n u l l 9 D o c um e n t 文件 do c um e n t n u l l n u l l 11 D o c um e n t F ra g m e nt do c um e n t f ra g m e nt n u l l n u l l 10 !D O CT Y P E n u l l n u l l n u l l 1 E l e m e n t 標(biāo)籤名稱 n u l l N a m e dN o de M a p 3 T e xt t e xt 文字內(nèi)容 n u l l 5 E n t i t y R e fe r e n c e 實(shí)體參考名稱 n u l l n u l l 6 E n t i t y 實(shí)體名稱 n u l l n u l l 7 PI t a r ge t 不包含 t a r ge t 的內(nèi)容 n u l l 12 N o t a t i o n N o t a t i o n 名稱 n u l l n u l l Document文件物件 ? XML 文件建立的樹(shù)狀結(jié)構(gòu)是 Document 物件(可以想成之前說(shuō)過(guò)的 root node) ? 當(dāng) DOM 載入 XML 文件建立 Document 物件後,就可以使用 getDocumentElement() 方法取得 XML 文件的根元素,如下所示: ? Node root = ()。 i++) { int type = (i).getNodeType()。 case 6: return 實(shí)體名稱: + ()。 pChild(child, 0)。 // 讀入 XML文件 document = (new File(filename))。 import .*。 // 剖析 XML文件 (new File(filename))。 import .*。 } catch(IOException ie) { ()。 ?程式碼匯入 XML 剖析器和 DOM 的相關(guān)套件,至於 .* 套件是剖析錯(cuò)誤處理的相關(guān)套件。 ? XML 的 parser 有非常多種,比較著名的有 Apache 的 Xerces、 Crimson 等;只可惜這些 parser 所提供的 APIs 並不相通(這跟當(dāng)初設(shè)計(jì) DOM APIs 時(shí)的想法不同)。 ?事件基礎(chǔ)的剖析器( Eventbased Parser): ? 讀取內(nèi)容時(shí)觸發(fā)一系列事件,應(yīng)用程式提供函數(shù)處理這些事件,以便存取 XML內(nèi)容,例如: SAX( Simple API for XML)。 ? 在 套件主要包含兩個(gè)代理商類別( Factory Classes),如下所示: ? DocumentBuilderFactory 類別: ? 自動(dòng)選取某一 parser 類別( ex. Xerces),來(lái)產(chǎn)生 DocumentBuilderFactory 的物件 ? 利用現(xiàn)有的 configuration 來(lái)產(chǎn)生 DocumentBuilder 實(shí)例。 DocumentBuilderFactory dbf = ()。 (false)。 try { (true)。 } catch(IOException ie) { (檔案處理錯(cuò)誤 !)。 public class Ch10_3_1 { static Document document。 Node child = (Node)()。// 剖析器設(shè)定錯(cuò)誤 } catch(IOException ie) { ()。 case 10: return DOCTYPE: + ((DocumentType) n).getSystemId()。 if(type == ) { pChild((i), pos+1)。 ? Note: Document 是 Node 的子類別 Node 節(jié)點(diǎn)物件 ? Node 節(jié)點(diǎn)物件許多方法: ?程式碼使用 getNodeName() 方法取得節(jié)點(diǎn)的節(jié)點(diǎn)名稱 ?若一個(gè)節(jié)點(diǎn) root 擁有多個(gè)子節(jié)點(diǎn),我們可以取得該節(jié)點(diǎn)下的所有子節(jié)點(diǎn): ? NodeList nodes = ()。 ?程式碼在取得根節(jié)點(diǎn) root 物件後,使用getChildNodes() 方法取得下一層第 2 個(gè)節(jié)點(diǎn)的第 3個(gè)子節(jié)點(diǎn),對(duì)應(yīng) XML 元素就是第 2 個(gè) book 元素的第 3個(gè)子元素 price。 j ()。 ? 如果觀念清楚的話,以下的說(shuō)明也可以用來(lái)為某一已經(jīng)存在的 XML 文件新增節(jié)點(diǎn)。 (t)。 ? 修改屬性 instock 內(nèi)容: Element element = ().getFirstChild()。 import .*。 // 新增子元素 code Element node = (code)。 Node newText = (陳會(huì)安 )。 (instock)。 (/+(i).getFirstChild().getNodeValue())。 (根元素 : +())。 j ()。 ?JDK supports JAXP API ?JDK supports JAXP API ?JDK supports JAXP API TestXSD // 驗(yàn)證 XML Schema import .*。 } catch (Exception e) { ( ().getName() +: + () )。 // parse 錯(cuò)誤會(huì)引起 SAXException Document document = (xmlFile)。 } } XPath API ? JDK 版之後,提供了一個(gè)非常好用的 XPath API,其 package 為 . ?步驟一:把 XML 檔案依照之前的方式載入 DocumentBuilderFactory domFactory
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1