java认证辅导:JSP提供解析接口XML数据Java认证考试
文章作者 100test 发表时间 2009:06:15 08:58:22
来源 100Test.Com百考试题网
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>.
所以XML的话可以这样其他地方是JAVA来将数据写入 然后我在这里解析出来!
更多优质资料尽在百考试题论坛 百考试题在线题库