通过JDom读取XML文件

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;

public class ReadConfig {
 private static ReadConfig config = new ReadConfig();

 private ReadConfig() {
 }

 public static ReadConfig getInstance() {
  return config;
 }

 public String getPath() {
  
  String path = this.getClass().getResource("").getPath();
  path = path.substring(0, path.indexOf("classes"));
  path += "classes/conf.xml";
  //解决配置文件路径问题,把%20改成空格
  path=path.replaceAll("%20", " ");
  // URL url=ReadConfig.class.getClassLoader().getResource("");
  // String path=url.getPath()+"/conf.xml";
  
  return path;
 }
 public  Map<String, String> readFromXml() {
  Map<String, String> map = new HashMap<String, String>();
  SAXBuilder sb = new SAXBuilder();
  try {
   Document doc = sb.build(new FileInputStream(getPath()));
   Element root = doc.getRootElement();
   List root1 = root.getChildren();
   List sib=null;
   for (Object root2 : root1) {//这里使用增强循环
    sib=((Element)root2).getChildren();
    //System.out.println(sib);
    for(Object elee:sib)
    {
     Element e=(Element)elee;
     map.put(e.getName(), e.getText());
     //System.out.println(e.getName()+"="+e.getText());
    }
   }

  } catch (FileNotFoundException e) {
   // TODO 自动生成 catch 块
   e.printStackTrace();
  } catch (JDOMException e) {
   // TODO 自动生成 catch 块
   e.printStackTrace();
  } catch (IOException e) {
   // TODO 自动生成 catch 块
   e.printStackTrace();
  }
  return map;

 }
}
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值