配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<root>
 <component name="DataSource" type="0">
 <url>192.168.0.37:1521/hsdb</url>
 <username>uftest</username>
<password>uftest_1</password>
<jdbc>jjjj</jdbc>
<jdbc_type>oracle_10g</jdbc_type>
 </component>
  <component name="DataSource1" type="0">
 <url>192.168.0.37:1521/hsdb</url>
 <username>uftest_2</username>
<password>uftest__2</password>
<jdbc>jjj111j</jdbc>
<jdbc_type>oracle_11110g</jdbc_type>
 </component>
<component name="GL" type="1">
      <interface name = "g1" >
     <ejbinterface>nc.itf.checkout.ICheckout_1</ejbinterface>
 <propery>查询模板,没有问题.</propery>
  </interface>
 </component>
 <component name="GL1" type="1">
      <interface name = "g2" >
     <ejbinterface>nc.itf.checko1ut.ICheckout_2</ejbinterface>
 <propery>查询模板,没有问题.111</propery>
  </interface>
 </component>
 </root>要求:
1.根据模板中name='g1'加载相应数据。
2.根据type=0 读取里面数据并且读取完数据以后根据参数连接数据库。
3.如果,在读取模板中出现错误那么应该将propery数据抽取出来保存。谢谢各位大侠。见解一下各位

解决方案 »

  1.   

    本人代码:package nc.itf.test;import java.io.File;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.List;import nc.bs.framework.common.NCLocator;
    import nc.bs.framework.exception.ComponentException;
    import nc.jdbc.framework.JdbcSession;
    import nc.jdbc.framework.PersistenceManager;import org.dom4j.Document;
    import org.dom4j.DocumentException;
    import org.dom4j.Element;
    import org.dom4j.io.SAXReader;public class TestInterface {
    private static TestInterface instanceObj; static HashMap<String, ArrayList<String>> instanceMap = new HashMap<String, ArrayList<String>>(); private TestInterface() {
    File$Reader();
    //实例化instanceMap<模块编码,ArrayList<接口类名称>>
    } public static TestInterface getInstance() {
    if (instanceObj == null) {
    instanceObj = new TestInterface();
    return instanceObj;
    }
    return instanceObj;
    } public HashMap<String, ArrayList<String>> getMap() {
    return instanceMap;
    } public static void File$Reader() { 
    SAXReader reader = new SAXReader();
    Document document = null;
    Element root = null;
    try {
    document = reader.read(new File("D:\\work\\Test\\s.xml"));
    root = document.getRootElement();
    } catch (DocumentException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    ArrayList<String> list = new ArrayList<String>();
    List<Element> user_subElements = null;
    String us = null;
    String id = null;
    for (Iterator<Element> i = root.elementIterator(); i.hasNext();) {
    Element user_element = (Element) i.next();
    String user_Name = user_element.getName(); // 节点的名称
    System.out.println(user_Name);
    id = user_element.attributeValue("name");// 节点的属性
    //System.out.println(id);
    String type = user_element.attributeValue("type");//模板类型 1 数据库 0 模板
    user_subElements = user_element.elements();
    if (type.trim().equals("0")) {
    for (Element ss : user_subElements) {
    Element ele = (Element) ss;
    //String n =ele.getName();
    //System.out.println(n);
    us = ele.getText();
    list.add(us);
    } } else if (type.trim().equals("1")) {
    Element name = user_element.element("interface");
    String name1 = name.attributeValue("name");
    list.add(name1);
    //System.out.println(name1);
    String pass = name.elementText("ejbinterface");
    list.add(pass);
    //System.out.println(pass);
    String propery = name.elementText("propery");
    list.add(propery);
    //System.out.println(propery); } }
    instanceMap.put(id, list);
    } public static void main(String[] args) {
    try {
    TestInterface instanceObj = TestInterface.getInstance();
    HashMap<String, ArrayList<String>> instanceMap = instanceObj
    .getMap();
    Iterator<String> itera = instanceMap.keySet().iterator();
    while (itera.hasNext()) {
    ArrayList<String> ls = instanceMap.get(itera.next());
    for (int i = 0; i < ls.size(); i++) {
    try{
    //System.out.println(NCLocator.getInstance().lookup(ls.get(i).toString().trim()));//取出连接参数进行数据加载判断
     System.out.println(ls.get(i).trim().toString());
    }catch(Exception e){
    System.out.println("ssssss");
     continue;
    }
    }
    }
    } catch (ComponentException e) {
    System.out
    .print("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXComponentException");