国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

XML、集合、JSP綜合練習

2019-11-15 00:09:14
字體:
來源:轉載
供稿:網友
xml、集合、jsp綜合練習

一、利用DOM解析XML文件得到信息;存入泛型集合中在JSP頁面循環打印讀取的信息

a) 編寫XML文件;添加測試節點數據

b) 建立web項目;在JSP頁面中使用DOM解析XML技術得到XML中的新聞信息

c) 創建實體類news;對新聞實體類進行封裝;使用新聞實體類對新聞數據進行封裝

d) 創建新聞類泛型集合存儲每條新聞信息

e) 在頁面利用循環和顯示標簽展示數據

效果:

XML文件:

展示效果:

編寫xml文件

  1 <?xml version="1.0" encoding="UTF-8"?>  2   3 -<news>  4   5   6 -<new id="1">  7   8 <title>關于依法治國論述摘編發行會見緬甸客人</title>  9  10 <type>時政要聞</type> 11  12 <date>2015-04-27 17:40</date> 13  14 <author>小編</author> 15  16 </new> 17  18  19 -<new id="2"> 20  21 <title>關于依法治國論述摘編發行會見緬甸客人</title> 22  23 <type>時政要聞</type> 24  25 <date>2015-04-27 17:40</date> 26  27 <author>小編</author> 28  29 </new> 30  31  32 -<new id="3"> 33  34 <title>關于依法治國論述摘編發行會見緬甸客人</title> 35  36 <type>時政要聞</type> 37  38 <date>2015-04-27 17:40</date> 39  40 <author>小編</author> 41  42 </new> 43  44  45 -<new id="4"> 46  47 <title>關于依法治國論述摘編發行會見緬甸客人</title> 48  49 <type>時政要聞</type> 50  51 <date>2015-04-27 17:40</date> 52  53 <author>小編</author> 54  55 </new> 56  57  58 -<new id="5"> 59  60 <title>關于依法治國論述摘編發行會見緬甸客人</title> 61  62 <type>時政要聞</type> 63  64 <date>2015-04-27 17:40</date> 65  66 <author>小編</author> 67  68 </new> 69  70  71 -<new id="6"> 72  73 <title>關于依法治國論述摘編發行會見緬甸客人</title> 74  75 <type>時政要聞</type> 76  77 <date>2015-04-27 17:40</date> 78  79 <author>小編</author> 80  81 </new> 82  83  84 -<new id="7"> 85  86 <title>關于依法治國論述摘編發行會見緬甸客人</title> 87  88 <type>時政要聞</type> 89  90 <date>2015-04-27 17:40</date> 91  92 <author>小編</author> 93  94 </new> 95  96  97 -<new id="8"> 98  99 <title>關于依法治國論述摘編發行會見緬甸客人</title>100 101 <type>時政要聞</type>102 103 <date>2015-04-27 17:40</date>104 105 <author>小編</author>106 107 </new>108 109 110 -<new id="9">111 112 <title>關于依法治國論述摘編發行會見緬甸客人</title>113 114 <type>時政要聞</type>115 116 <date>2015-04-27 17:40</date>117 118 <author>小編</author>119 120 </new>121 122 123 -<new id="10">124 125 <title>關于依法治國論述摘編發行會見緬甸客人</title>126 127 <type>時政要聞</type>128 129 <date>2015-04-27 17:40</date>130 131 <author>小編</author>132 133 </new>134 135 136 -<new id="11">137 138 <title>關于依法治國論述摘編發行會見緬甸客人</title>139 140 <type>時政要聞</type>141 142 <date>2015-04-27 17:40</date>143 144 <author>小編</author>145 146 </new>147 148 </news>

創建實體類news;對新聞實體類進行封裝;使用新聞實體類對新聞數據進行封裝

package entity;/** * 新聞類 * @author Administrator * */public class News {        PRivate String id;//新聞ID    private String title;//標題    private String type;//新聞類型    private String date;//發布時間    private String author;//作者            public String getId() {        return id;    }    public void setId(String id) {        this.id = id;    }    public String getTitle() {        return title;    }    public void setTitle(String title) {        this.title = title;    }    public String getType() {        return type;    }    public void setType(String type) {        this.type = type;    }    public String getDate() {        return date;    }    public void setDate(String date) {        this.date = date;    }    public String getAuthor() {        return author;    }    public void setAuthor(String author) {        this.author = author;    }        }

用泛型集合從頁面輸出效果

  1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  2 <%@page import="javax.xml.parsers.DocumentBuilderFactory"%>  3 <%@page import="javax.xml.parsers.DocumentBuilder"%>  4 <%@page import="org.w3c.dom.Document"%>  5 <%@page import="org.w3c.dom.NodeList"%>  6 <%@page import="org.w3c.dom.Node"%>  7 <%@page import="entity.News"%>  8 <%@page import="org.w3c.dom.Element"%>  9 <% 10 String path = request.getContextPath(); 11 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 12 %> 13  14 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 15 <html> 16   <head> 17     <base href="<%=basePath%>"> 18      19     <title>解析顯示新聞</title> 20      21   </head> 22    23   <body> 24     <% 25         //建立dom解析器工廠實例 26         DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 27          28         //得到解析器對象  29         DocumentBuilder db = dbf.newDocumentBuilder(); 30  31     //得到web工程根目錄 32         System.out.print(request.getRealPath("/")); 33         //加載XML文件;創建docuemnt對象(生成dom樹) 34         Document dom = db.parse(request.getRealPath("/")+"/new.xml"); 35          36         //開始解析新聞 37         NodeList nodelist = dom.getElementsByTagName("new"); 38          39         //創建泛型集合存儲解析的新聞信息 40         List<News> newslist = new ArrayList<News>(); 41          42         //循環解析 43         for(int i = 0; i < nodelist.getLength(); i++){ 44              45             //得到每個node(節點)對象 46             Node newnode = nodelist.item(i); 47              48             //將節點對象轉換為元素對象 49             Element element = (Element)newnode; 50              51             //得到新聞的id屬性 52             String newid = element.getAttribute("id"); 53              54             //創建新聞對象 55             News news = new News(); 56              57             //將id存儲在新聞對象中 58             news.setId(newid); 59              60             //獲取其他節點屬性 61             for(Node news_child = newnode.getFirstChild(); news_child != null;news_child = news_child.getNextSibling()){ 62                  63                 //判斷當前是元素對象還是節點對象  64                 if(news_child.getNodeType() == Node.ELEMENT_NODE){ 65                      66                     if(news_child.getNodeName().equals("title")){ 67                         //獲取新聞標題;將標題封裝到對象中 68                         news.setTitle(news_child.getFirstChild().getNodeValue()); 69                     } 70                     if(news_child.getNodeName().equals("type")){ 71                         //獲取新聞類型;將標題封裝到對象中 72                         news.setType(news_child.getFirstChild().getNodeValue()); 73                     } 74                     if(news_child.getNodeName().equals("date")){ 75                         //獲取新聞發布時間;將標題封裝到對象中 76                         news.setDate(news_child.getFirstChild().getNodeValue()); 77                     } 78                     if(news_child.getNodeName().equals("author")){ 79                         //獲取新聞作者;將標題封裝到對象中 80                         news.setAuthor(news_child.getFirstChild().getNodeValue()); 81                     } 82                      83                 } 84             } 85             //將新聞對象放入泛型集合中 86             newslist.add(news); 87         } 88     %> 89      90     <center> 91         <table style="width: 800px; height: auto; border:1px solid #900;font-size: 12px" cellpadding="0" cellspacing="0"> 92             <tr style="text-align: center;background: #900; color: #ffffff;border: 1px solid #900"> 93                 <td>新聞ID</td> 94                 <td>新聞標題</td> 95                 <td>新聞類型</td> 96                 <td>發布時間</td> 97                 <td>發布作者</td> 98             </tr> 99             <%100                 //循環新聞列表101                 for(int i = 0; i < newslist.size(); i ++){102                     //取出集合中每個新聞實體對象103                     News news = newslist.get(i);104             %>105             <tr>106                 <td style="text-align: center;border: 1px solid #900;height:30px"><%=news.getId() %></td>107                 <td style="text-align: center;border: 1px solid #900;height:30px"><%=news.getTitle() %></td>108                 <td style="text-align: center;border: 1px solid #900;height:30px"><%=news.getType() %></td>109                 <td style="text-align: center;border: 1px solid #900;height:30px"><%=news.getDate() %></td>110                 <td style="text-align: center;border: 1px solid #900;height:30px"><%=news.getAuthor() %></td>111             </tr>112             <%113                 }114             %>115         </table>116     </center>117   </body>118 </html>


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阳山县| 长宁区| 阳高县| 舟曲县| 扎鲁特旗| 宣威市| 丽水市| 珠海市| 华安县| 邹城市| 津南区| 梁河县| 普定县| 邵阳市| 宿州市| 彩票| 乐昌市| 青州市| 阿克陶县| 黄陵县| 惠安县| 麟游县| 自贡市| 遵化市| 舞钢市| 巫山县| 隆化县| 宁陕县| 屏东市| 苏州市| 庆安县| 万盛区| 遂平县| 云浮市| 论坛| 莱西市| 志丹县| 镇雄县| 通城县| 贵州省| 会泽县|