web工程中的xml文件怎么读取的

web工程中的xml文件怎么读取的,第1张

jsp文件应该会自毁亩带动寻找相应的XML文件,放入JDOM插件后也一样,只是在这个插件里耐丛面提供了很多访问XML文件的方法。如果我们要去读取自己新建的一个XML文件的数据,还是只有自己重新写个方法,然后在纤芦这个方法里面调用JDOM提供的方法读取,并根据自己的意愿组织数据。

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/htmlcharset=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>

1,按模块将servelet从web.xml中拷贝出来,放到一个test.xml中,如test.xml中内容如下:

<servlet>

<servlet-name>testA</servlet-name>

<servlet-class>TestA</servlet-class>

<早运/servlet>

<servlet-mapping>

<servlet-name>举睁燃testA</servlet-name>

<url-pattern>/testA.do</url-pattern>

<正虚/servlet-mapping>

2,在我的WEB-INF/web.xml中引入test.xml

<!DOCTYPE web-app

[<!ENTITY test SYSTEM "file:///D:/eclipse/workspace/Test/WebRoot/WEB-INF/test.xml">


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12281116.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存