当前位置: 首页 > 图文教程 > 网络编程 > JSP > JSP提供解析接口的XML数据

JSP
关于seeion的文章
jsp与javaBeans的结合使用
使用JavaBean,一句代码完成对文本文件读取和写入!!!
利用HttpSessionListener实现网站在线人数统计功能
第一章:taglib 原理和实现
用web_xml控制Web应用的行为(上)待徐
Taglib 原理和实现:第三章 tag之间的嵌套和属性读取
Taglib 原理和实现:第四章 循环的Tag
学习笔记:ServletContext接口
checkbox的使用
DelphiBBS的JSP实现(未经授权).
可以自动跳转到出错页面的servlet/jsp框架
学用Java Web Start 部署应用程序
Web页面数据批量录入----使用上传组件与JXL工具包联合实现
使用jsp实现word、excel格式报表打印
JSP页面查询显示常用模式
使用XML封装数据库操作语句的实现(完全版)--发布源码
深入浅出taglib
用Java实现Web服务器
如何利用xml,javascript绕开applet的安全问题

JSP提供解析接口的XML数据


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 53 ::
收藏到网摘: n/a

  1.接口内容如下:
  <?xml version="1.0" encoding="UTF-8"?>
  <users>
  <user>
  <id>1</id>
  <firstname>Song</firstname>
  <lastname>Thinking</lastname>
  <password>songlipeng</password>
  </user>
  <user>
  <id>2</id>
  <firstname>Zheng</firstname>
  <lastname>Quanling</lastname>
  <password>zhengquanling</password>
  </user>
  </users>
  2.解析的JSP代码如下:
  <%@ page language="java" import="java.util.*,javax.xml.parsers.*,java.sql.*" pageEncoding="UTF-8"%>
  <%@ page import="java.io.*,javax.xml.*,org.w3c.dom.*" %>
  <%
  //建立解析工厂
  DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
  dbf.setIgnoringElementContentWhitespace(true); //忽略元素内容中的空格
  //创建解析器
  DocumentBuilder db = dbf.newDocumentBuilder();
  //得到解析文件
  //据说这样写可以让XML与JSP放在同一目录哦
  Document doc = db.parse("http://localhost:8080/MyProjects/webserver/users.xml"); //得到其他地方的接口目录
  doc.normalize();
  //得到根元素
  //Element root = doc.getDocumentElement();
  //得到所有user元素
  NodeList users = doc.getElementsByTagName("user");
  NodeList usersIdNodeList= doc.getElementsByTagName("id");
  NodeList usersNameNodeList= doc.getElementsByTagName("firstname");
  NodeList usersPasswordNodeList=doc.getElementsByTagName("lastname");
  NodeList usersTrueNameNodeList=doc.getElementsByTagName("password");  
  %>
  <table>
  <thead>
  <tr>
  <th>ID</th>
  <th>firstName</th>
  <th>lastName</th>
  <th>password</th>
  </tr>
  </thead>
  <%
  Node userNode = null;
  for (int i = 0; i < users.getLength(); i++) {
  //Element user = (Element) users.item(i);
  %>
  <tr>
  <td><%=usersIdNodeList.item(i).getFirstChild().getNodeValue()%></td>
  <td><%=usersNameNodeList.item(i).getFirstChild().getNodeValue()%></td>
  <td><%=usersPasswordNodeList.item(i).getFirstChild().getNodeValue()%></td>
  <td><%=usersTrueNameNodeList.item(i).getFirstChild().getNodeValue()%></td>
  <%
  }
  %>
  </tr>
  </table>
  <!--只提取XML中的ID数据信息-->
  <div>
  <%
  for(int i=0;i<usersIdNodeList.getLength();i++){
  out.println("<b>"+usersIdNodeList.item(i).getFirstChild().getNodeValue()+"</b>");
  }
  %>
  </div>