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

正文內(nèi)容

第10章xmldom物件模型(完整版)

  

【正文】 getAttributes() Node 節(jié)點(diǎn)物件 ? Node 節(jié)點(diǎn)物件還提供更多方法能夠?yàn)g覽XML 文件來(lái)取得指定節(jié)點(diǎn),相關(guān)方法的說(shuō)明,如下表所示: 方法 說(shuō)明get F ir st C h ild () 取得第一個(gè)子節(jié)點(diǎn)get L a s tCh ild () 取得最後一個(gè)子節(jié)點(diǎn)get N e x tSi b ling () 取得下一個(gè)兄弟節(jié)點(diǎn) ,兩個(gè)節(jié)點(diǎn)擁有相同的父節(jié)點(diǎn)稱為兄弟節(jié)點(diǎn)get P ar e nt N od e () 取得父節(jié)點(diǎn)NodeList 節(jié)點(diǎn)清單的集合物件 ? 當(dāng)在 Java 程式呼叫 getChildNodes() 方法,或是 getElementByTagName() 方法取得指定節(jié)點(diǎn)時(shí),這些節(jié)點(diǎn)是一個(gè) NodeList 集合物件(也就是類似 List 的結(jié)構(gòu)),而每一個(gè)節(jié)點(diǎn)包含該節(jié)點(diǎn)和其子節(jié)點(diǎn)的一棵子樹。 Element元素物件 ? Element 物件代表樹狀結(jié)構(gòu)的 XML 元素節(jié)點(diǎn): ? NodeList tagNodes = (book)。 j++) { Node att = (j)。(只需把 newDocument() 換成 parse() 並找到必要的 context node) 新增 XML元素和屬性 步驟一 第一步:建立新節(jié)點(diǎn) ? 使用 Document 物件的相關(guān)方法來(lái)建立所需的節(jié)點(diǎn)物件 ? 例如:在新建立的 XML DOM 新增元素,如下所示 : (請(qǐng)注意:只是新增節(jié)點(diǎn),該節(jié)點(diǎn)與 document 之間暫時(shí)還沒有關(guān)係) Element root = (Element) (book)。 (node)。 Attr attr = (instock)。 import .*。 (node)。 ().appendChild(newText)。 (刪除後的 XML文件 : )。 // 顯示指定元素的屬性值 if ((i).hasAttributes()) { NamedNodeMap atts = (i).getAttributes()。 NodeList nodes = ()。 j++) { Node att = (j)。 import .*。 } } TestXSD public TestXSD(String xmlFile) throws ParserConfigurationException, SAXException, IOException { DocumentBuilderFactory factory = ()。 Node rootNode = ()。 (true)。 import .*。 TestXPath // 載入 XPathFactory XPathFactory factory = ()。 i++) { ((i).getNodeValue())。 public class Ch10_6_2 { public Ch10_6_2() {} // 建立 HTML文件 public void buildHTML(String xmlData, String htmlFile, String xsltFile) throws Exception { // 建立 TransformerFactory物件 TransformerFactory tff = ()。 BufferedReader br = new BufferedReader(new FileReader(xmlFile))。 public class Ch10Print { public Ch10Print() {} // HTML 的結(jié)果由螢?zāi)惠敵? public void buildHTML(String xmlData, String xsltFile) throws Exception { // 建立 TransformerFactory物件 TransformerFactory tff = ()。 // 建立 Transformer物件 // 若不指定任何 xsltFile,則不做任何轉(zhuǎn)換,而直接輸出 //Transformer tf = ()。 String xmlFile = 。 Tomcat ? Tomcat 是一個(gè)兼具 Web Server 以及 JSP/Java Servlet 的 engine ?雖然可以被用來(lái)當(dāng)作 web server,但是一般都不建議這樣子使用,因?yàn)? Apache 的效能以及功能都比 Tomcat 強(qiáng) ?請(qǐng)參考如何將 Apache 以及 Tomcat 結(jié)合使用的方法 ?我們以下說(shuō)明的指針對(duì)架設(shè) Tomcat (在 Windows 的環(huán)境)並寫出一個(gè)簡(jiǎn)單的 JSP 為例。 並重新 pile ? 請(qǐng)把 放到 d:\tomcat\webapps\xml\WEBINF\classes\xml 目錄內(nèi) 第三個(gè) JSP html head meta equiv=ContentType content=text/html。 StringBuffer buf = new StringBuffer()。 } if ( type == ) { String val = (i).getNodeValue()。 i=num。 JSP and DOM try { DocumentBuilder db = ()。 (/型態(tài) :+()+br/\n)。} % 練習(xí)題 ? 請(qǐng)先把之前的範(fàn)例跟著做一次 ? 請(qǐng)把兩個(gè)範(fàn)例改成可以由使用者輸入的方式來(lái)進(jìn)行 ?改 使得使用者可以輸入一個(gè) XML 檔,並由 DOMServ 來(lái)輸出結(jié)果(提示在下一頁(yè)) ?改 使得使用者可以輸入一個(gè) XML 和 XSL 檔,並由 XSLTServ 來(lái)輸出結(jié)果 ? 請(qǐng)製作一個(gè) webbased 的 XPath 處理器 ?先由使用者輸入 XML 檔案 ?然後另一個(gè)畫面讓使用者輸入 XPath 的路徑,然後把結(jié)果呈現(xiàn)出來(lái)。 } (/body/html\n)。 document = (file)。 } % % (htmlheadtitle\n)。 ( 元素 : + (i).getNodeName())。 for (int i=0。charset=Big5” import=% html head titleCalculate Salary/title /head body % String s = new String((data).getBytes(ISO88591), Big5)。 % ! 使用變數(shù) s h1Hello %=s% /h1 /body /html 第一個(gè) JSP ? Tomcat 會(huì)自動(dòng) parsing 語(yǔ)法,並將程式自動(dòng)轉(zhuǎn)換為 Java Servlet,然後進(jìn)行 pile. ? pile 完了以後, Tomcat 把 .class 安裝到適當(dāng)?shù)哪夸泚K執(zhí)行該 servlet ? 請(qǐng)?jiān)? browser 執(zhí)行 ? 第二個(gè) JSP html head meta equiv=ContentType content=text/html。 BufferedReader br = new BufferedReader(new FileReader(xmlFile))。 // 轉(zhuǎn)換 XML (new StreamSource(new StringReader(xmlData)), new StreamResult(new OutputStreamWriter()))。 Transformer tf = (new StreamSource(xsltFile))。 StringBuffer strBuffer = new StringBuffer()。 // 轉(zhuǎn)換 XML (new StreamSource(new StringReader(xmlData)), new StreamResult(new FileOutputStream(htmlFile)))。 ?利用產(chǎn)生文件的方式產(chǎn)生一份 XHTML 的文件 ?利用 XPath 語(yǔ)法來(lái)找到所需的節(jié)點(diǎn) JAXP 的 XSLT API ? JAXP API 的 XSLT API( XML Stylesheet Translation API)是使用 套件的TransformerFactory 類別來(lái)建立 Transformer 實(shí)例,以便執(zhí)行 XSLT 轉(zhuǎn)換,如下圖所示: JAXP 的 XSLT API 套件說(shuō)明 ? XSLT API 的相關(guān)套件說(shuō)明,如下表所示: 套件 說(shuō)明j av ax . x m l . t ran sfo rm X SL T A PI 的主要套件 ,定義 T ran sf o rm er Facto ry和 T ran sfo rm er 類別 ,並且提供 t ra n sf o rm () 方法執(zhí)行 X SL T 轉(zhuǎn)換j av ax . x m l . t ran sfo rm .do m 定義從 DOM 輸入或輸出的物件j av ax . x m l . t ran sfo rm .sax 定義 SA X 的輸入或輸出物件j av ax . x m l . t ran sfo rm .st ream 定義從檔案串流輸入或輸出的物件XSLT轉(zhuǎn)換 XML文件 ? 在匯入套件後,就可以建立 TransformerFactory 物件tff 和 Transformer 物件 tf( XSLT 處理器),如下所示: TransformerFactory tff = ()。 // pile XPath 敘述 XPathExpression expr = (//book/title/text())。 import .*。 Document doc = ()。 } } SimpleErrorHandler import 。 // 預(yù)設(shè)為 false,必須是 true,因?yàn)? xsd:schema (true)。 import .*。 (/+())。 i ()。 j ()。 } Ch10_4_4 // 顯示 XML文件 private static void printXML(Node root) { (根元素 : +())。 (instock,Y)。 // 新增子元素 title node = (title)。 public static void main(String[] args) throws Exception { DocumentBuilderFactory dbf = ()。 變更 XML 元素或者屬性名稱 ? 如果需要變更節(jié)點(diǎn)或?qū)傩悦Q,我們可以使用 Document 節(jié)點(diǎn)的 renameNode() 方法,語(yǔ)法如下: // 改變 node 的名稱為 newName (node, [new namespace], [newName])。 ?程式碼新增名為 instock的屬性,第 1個(gè)參數(shù)是屬性名稱,第 2個(gè)參數(shù)是屬性值。 新增 XML元素和屬性 步驟二 第二步:插入指定的位置 ? 在建立
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1