JDOM读取XML配置文件--单例模式

import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;

 

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.JDOMParseException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;


public class TestJDOM {

   private static TestJDOM instance = null;

   private TestJDOM(){
   
   }
  
   public static synchronized TestJDOM getInstance() {
 if (instance==null)
  instance = new TestJDOM();
  return instance;
 }
  
   public String[] parshString(String str){
  if(str!=null&&!str.equals("")){
   String[] result = str.split(";");
   return result;
  }else
   return null;
 }
  
   public String getProperty(Element ParentElement,String[] xPath,int flag){
  String result = "";
  int index = xPath.length-flag;
  String s = xPath[index];
  List parentList=ParentElement.getChildren(xPath[index]);
  for (Iterator iter = parentList.iterator(); iter.hasNext();) {
   Element element = (Element) iter.next();
   //List list=element.getChildren(xPath[index]);
   if(flag!=1){
    flag--;
    result = getProperty(element,xPath,flag);
   }else{
    result=element.getText();
   }
  }
  return result;
 }
 
   public String getProperty(String file,String path){
    String[] xPath = parshString(path);
  //String xmlpath="library.xml";
  String result = "";
  SAXBuilder builder=new SAXBuilder(false);
   try {
    Document doc= builder.build(file);
    Element element=doc.getRootElement();
    result = getProperty(element,xPath,xPath.length);
   } catch (JDOMParseException e) {
    e.printStackTrace();
   } catch (IOException e) {
    e.printStackTrace();
   } catch (JDOMException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
  System.out.println(result);
  return result;
   }
  
 public String getProperty(String path){
  String[] xPath = parshString(path);
  String xmlpath="library.xml";
  String result = "";
  SAXBuilder builder=new SAXBuilder(false);
   try {
    Document doc= builder.build(xmlpath);
    Element element=doc.getRootElement();
    result = getProperty(element,xPath,xPath.length);
   } catch (JDOMParseException e) {
    e.printStackTrace();
   } catch (IOException e) {
    e.printStackTrace();
   } catch (JDOMException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
  System.out.println(result);
  return result;
 }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值