<%@ page import="javax.xml.parsers.*" %> <%@ page import="org.w3c.dom.*" %> <%@ page import="java.util.*,java.io.*" %> <%@ page contentType="text/html;charset=MS950" %> CH17 - ParseXML_dom.jsp

使用 JAXP DOM 剖析 XML 文件

<% try { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); //獲得DocumentBuilder的一個實體 DocumentBuilder builder = factory.newDocumentBuilder(); //解析文件,並獲得一個Document實體 Document doc = builder.parse("http://localhost:8080/JSPBook/CH17/Books.xml"); //獲得根節點 books Element elmtBooksInfo = doc.getDocumentElement(); //得到所有book節點 NodeList nlBook = elmtBooksInfo.getElementsByTagName("book"); //迴圈輸出每一本書的資料 for (int i = 0; i < nlBook.getLength(); i++) { //當前book節點標籤 Element elmtBook = (Element)nlBook.item(i); NodeList nlCurrent = elmtBook.getElementsByTagName("title"); out.println("書名:" + ((Element)nlCurrent.item(0)).getFirstChild().getNodeValue() + "
"); out.println("ISBN:" + ((Element)nlCurrent.item(0)).getAttribute("ISBN") + "
"); nlCurrent = elmtBook.getElementsByTagName("author"); out.println("作者:" + ((Element)nlCurrent.item(0)).getFirstChild().getNodeValue() + "
"); out.println("------------------------------------" + "
"); } } catch (Exception pce) { System.out.println(pce); } %>