数据加载中……
[Original]解析xml的相对路径问题

今天在做xml解析的时候,遇到一个问题:怎么用相对路径替换绝对路径?花了我半天的时间(水平不行浪费太多时间),写出来共享给大家,希望能够给大家帮助。在web工程中,有三种途径可以实现xml相对路径:
1>将xml放在WEB-INF目录下,通过getServletContext().getResourceAsStream("/WEB-INF/gather.xml");
2>将xml方法在WEB-INF/classes目录下或classpath的jar包中,则可以使用ClassLoader的静态方法getSystemResourceAsStream(String)读取
前两种方法是从网上找到的,还没有尝试,因为我采用的是得到xml的url,然后去解析的.
3>通过获得xml的url,然后根据url去解析的
获得url代码:
    ClassLoader classLoader = Thread.currentThread.getContextClassLoader();
    java.net.URL xmlURL = classLoader.getResource("gather/config/gather.xml");
    SAXReader reader = new SAXReader();
    Document document = reader.read(xmlURL);
如果不是在web工程中,可以用InputStream去解析xml,代码如下:
    //className是类名
    ClassLoader classLoader = className.class.getClassLoader();
    InputStream inputStream = classLoader.getResourceAsStream("gather/config/gather.xml");
    SAXReader reader = new SAXReader();
    Document document = reader.read(inputStream);

posted on 2007-11-22 15:32 牛浪de流 阅读(2132) 评论(1)  编辑  收藏 所属分类: 爪哇学习

评论

# re: [Original]解析xml的相对路径问题 2007-11-23 17:55 CoderDream

第一种不错,第二种好像有点问题!
  回复  更多评论    

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问