有关DOM4J解析问题?

13abyKnight 2010-06-23 02:20:49
配置文件:
<?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数据抽取出来保存。

谢谢各位大侠。见解一下各位

...全文
138 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hoojo 2010-06-23
  • 打赏
  • 举报
回复
什么问题?
luiganqian 2010-06-23
  • 打赏
  • 举报
回复
路过 顶一个~~~~~···
jennyzhangyi 2010-06-23
  • 打赏
  • 举报
回复
顶下。。。。。。
13abyKnight 2010-06-23
  • 打赏
  • 举报
回复
顶。...
13abyKnight 2010-06-23
  • 打赏
  • 举报
回复
本人代码:



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");

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧