天天看点

Tomcat环境下,java读取XML文件的路径问题

java代码:

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.InputStream;

import java.util.ArrayList;

import java.util.List;

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;

import org.w3c.dom.Element;

import org.w3c.dom.Node;

import org.w3c.dom.NodeList;

import org.xml.sax.SAXException;

public class CapusBBSUtil {

 public static List ReadCapusBBS(){

     List bbsList = new ArrayList();

        DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance();

        try {

            DocumentBuilder dombuilder=domfac.newDocumentBuilder();   

            InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream("capusbbs.xml");

            Document doc = dombuilder.parse(is);

            Element root = doc.getDocumentElement();

            NodeList capusbbs = root.getChildNodes();

            if(capusbbs!=null){

                for(int i=0;i<capusbbs.getLength();i++){

                    Node bbs = capusbbs.item(i);

                    if(bbs.getNodeType() == Node.ELEMENT_NODE){

                        String name = bbs.getAttributes().getNamedItem("name").getNodeValue();

                        String url = bbs.getAttributes().getNamedItem("url").getNodeValue();

                        BbsBean bean = new BbsBean();

                        bean.setName(name);

                        bean.setUrl(url);

                        bbsList.add(bean);

                    }

                }

            }

        } catch (ParserConfigurationException e) {

            e.printStackTrace();

        } catch (FileNotFoundException e) {

            e.printStackTrace();

        } catch (SAXException e) {

            e.printStackTrace();

        } catch (IOException e) {

            e.printStackTrace();

        }

        return bbsList;

    }

}

class BbsBean implements java.io.Serializable

{

 private String name;

 private String url;

 public String getName() {

  return name;

 }

 public void setName(String name) {

  this.name = name;

 }

 public String getUrl() {

  return url;

 }

 public void setUrl(String url) {

  this.url = url;

 }

}

2.配置文件capusbbs.xml

<?xml version="1.0" encoding="UTF-8" ?>

<capusbbs>

    <bbs name="清华大学 - 水木社区"   url="http://www.newsmth.net/"></bbs>

    <bbs name="西安交通大学 - 思源兵马俑"  url="http://bbs.xjtu.edu.cn"></bbs>

</capusbbs>