在WEB工程中,jsp文件如何读取XML文件的信息?

想了解其他文件读取XML文件的原理过程,工程中的其他文件就只是通过XML中的命名来访问XML文件信息么?是不是放在指定的根目录下(jsp文件与WEB-INF文件夹在同一目... 想了解其他文件读取XML文件的原理过程,工程中的其他文件就只是通过XML中的命名来访问XML文件信息么?是不是放在指定的根目录下(jsp文件与WEB-INF文件夹在同一目录下,而XML文件在WEB-INF文件夹下),jsp文件会自动寻找相应的XML文件么?我将一个在myeclipse下写好的XML文件放入另外一个运行的工程中,为什么不能调用?JDOM解析XML文件什么意思?是说把JDOM程序包放入工程中就能把XML文件解析为JSP 能识别的文件的类型,否则JSP文件无法找到XML文件? 展开
 我来答
曹晓山11
推荐于2018-03-07 · 知道合伙人互联网行家
曹晓山11
知道合伙人互联网行家
采纳数:3033 获赞数:52068
毕业南阳理工学院计算机科学与技术专业,本科学位。互联网行业从业3年工作经验,读过编程类相关书籍多本。

向TA提问 私信TA
展开全部

jsp中读取xml文件中内容的方法,案例如下:

1、XML文件

<?xml version="1.0" encoding="GB2312" ?> 
<!-- 个人履历表--> 
<resume>
<person id="01">
   <name>张三</name> 
   <birthday>03/24/1975</birthday>  
   <phone>1111-1111</phone> 
   <address>大连</address>
</person>  
<person id="02">
   <name>李四</name> 
   <birthday>9/26/1978</birthday>  
   <phone>2222-2222</phone> 
   <address>南京</address>
</person>   
<person id="03">
   <name>王五</name> 
   <birthday>11/09/1979</birthday>  
   <phone>3333-3333</phone> 
   <address>武汉</address>
</person>   
<person id="04">
   <name>赵六</name> 
   <birthday>6/04/1973</birthday>  
   <phone>4444-4444</phone> 
   <address>青岛</address>
</person>   
<person id="05">
   <name>陈七</name> 
   <birthday>12/19/1977</birthday>  
   <phone>5555-5555</phone> 
   <address>上海</address>
</person>   
</resume>

2、MyDOMBean.java

package test;
import org.xml.sax.*; 
import javax.xml.parsers.*;
import org.w3c.dom.*;
import java.io.*;

public class MyDOMBean implements java.io.Serializable ...{
   private static String xmlStr="";
   private static final String PATH="file:///";
   public MyDOMBean() ...{
   }

   public String getString()...{
        return xmlStr;
   }

   public static Document getDocument(String filename) throws Exception ...{
       xmlStr="";
       DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        // 设定解析的叁数
        dbf.setIgnoringComments(true);
        dbf.setIgnoringElementContentWhitespace(true);
        DocumentBuilder db = dbf.newDocumentBuilder();
        //导入XML文件
        Document doc = db.parse(PATH+filename);
       
       return doc;
   }

     public void traverseTree(Node node) throws Exception ...{
         if(node == null) ...{
            return;
         }
         int type = node.getNodeType();

         switch (type) ...{
            // 操作DOCUMENT对象节点
            case Node.DOCUMENT_NODE: ...{
               xmlStr+="<tr>";
               traverseTree(((Document)node).getDocumentElement());
               break;
            }
            // 操作XML元素节点
            case Node.ELEMENT_NODE: ...{
               String elementName = node.getNodeName();
               if(elementName.equals("person")) ...{
                 xmlStr+="</tr><tr>";
               }
               NodeList childNodes =node.getChildNodes();
               if(childNodes != null) ...{
                  int length = childNodes.getLength();
                  for (int loopIndex = 0; loopIndex <
                  length ; loopIndex++)
                  ...{
                     traverseTree(childNodes.item(loopIndex));
                  }
               }
               break;
            }
            // 操作XML文本节点
            case Node.TEXT_NODE: ...{
               String data = node.getNodeValue().trim();
               if((data.indexOf(" ")  <0) && (data.length()> 0)) ...{
                 xmlStr+="<td>"+data+"</td>";
               }
            }
         }
    }

}

3、jsp文件

<html>
<head>
<title>使用DOM解析器</title>
</head>
<%...@ page import="org.w3c.dom.*"%>
<%...@ page contentType="text/html;charset=GB2312" %>
<body bgcolor="#CFF1E1">
<center>
<h2>个人履历表(DOM版)</h2>
<table border="1" width="80%">
<tr>
<td>姓名</td>
<td>出生年月</td>
<td>电话号码</td>
<td>居住地</td>
</tr>
<jsp:useBean id="domparser" class="test.MyDOMBean" />
<%...  
   Document doc = domparser.getDocument(request.getRealPath("/") + "08_02.xml");
   domparser.traverseTree(doc);
   out.print(domparser.getString());
%>
</body>
</html>
happyWorkXiaoXu
推荐于2017-12-15 · TA获得超过614个赞
知道小有建树答主
回答量:313
采纳率:100%
帮助的人:146万
展开全部
jsp文件应该会自动寻找相应的XML文件,放入JDOM插件后也一样,只是在这个插件里面提供了很多访问XML文件的方法。如果我们要去读取自己新建的一个XML文件的数据,还是只有自己重新写个方法,然后在这个方法里面调用JDOM提供的方法读取,并根据自己的意愿组织数据。
追问
我在myeclipse中创建了一个web.xml(利用servelet)文件用于在网页中的Ajax连接一个服务器后台类,并没有引用JDOM,自动可以调用web.xml文件,但是把web.xml放到一个没有在编译环境下的工程中就不能正确引用了,这个时候是要我们重写方法去读取XML文件了,可以这样理解么?问一下,要想做实时网络视频监控系统,实现通过网络远程监控的功能可以用myeclipse开发么?
追答
通过servlet发送请求是,好像是在WEB容器tomcat里面自动检测web.xml文件的,然后根据里见面的配置去调用相应的配置去读取调用相应的方法。对不住哈,web.xml文件自动被调用这块还没了解得那么深哈。
myeclipse就是一个开发工具,java 无论是C/S模式还是B/S模式的开发都可以在面弄。php的话也是可以的,只是要安装一个php开发的插件,其他的开发就不知道了。如果您是用这两种来发的话,myeclipse是可以的。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-15
展开全部
刚回复一位朋友
请参考 http://zhidao.baidu.com/question/581131796.html
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式