建站学 - 轻松建站从此开始!

建站学-个人建站指南,网页制作,网站设计,网站制作教程

当前位置: 建站学 > 网站开发 > JSP教程 >

JSP提供解析接口的XML数据

时间:2009-06-04 22:31来源: 作者: 点击:
JSP提供解析接口的XML数据
  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> (责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片