读取XML子节点的若干节点

//add by Leo 2012-04-11 
public static Map<String, Document> parsersXml(String name, String log,String db) {
String Str_log = removeSymbol(log);
String Str_db = removeSymbol(db);
Map<String, Document> d_map=new HashMap<String, Document>();

// log
StringReader sr_log = new StringReader(Str_log);
InputSource is_log = new InputSource(sr_log);
DocumentBuilderFactory factory_log = DocumentBuilderFactory
.newInstance();
Document doc_log = null;


// DB
StringReader sr_db = new StringReader(Str_db);
InputSource is_db = new InputSource(sr_db);
DocumentBuilderFactory factory_db = DocumentBuilderFactory
.newInstance();
Document doc_db = null;


try {
DocumentBuilder builder_log = factory_log.newDocumentBuilder();
doc_log = builder_log.parse(is_log);

DocumentBuilder builder_db = factory_db.newDocumentBuilder();
doc_db = builder_db.parse(is_db);

d_map.put("log", doc_log);
d_map.put("db", doc_db);

} catch (ParserConfigurationException e1) {
// TODO Auto-generated catch block
m_logger.logError("DBProcessorRvt:parsersXml(): - Exception:\n" + Log4jAdapter.getStackTrace(e1));
} catch (SAXException e1) {
// TODO Auto-generated catch block
m_logger.logError("DBProcessorRvt:parsersXml(): - Exception:\n" + Log4jAdapter.getStackTrace(e1));
} catch (IOException e1) {
// TODO Auto-generated catch block
m_logger.logError("DBProcessorRvt:parsersXml(): - Exception:\n" + Log4jAdapter.getStackTrace(e1));
}
return d_map;
}



public static void getNodeValue(Document doc_log,Document doc_db,String name){
int faild_count=0;

try {
NodeList nl1_log = doc_log.getElementsByTagName(name);
NodeList nl1_db = doc_db.getElementsByTagName(name);
int size1 = nl1_log.getLength();

for (int i = 0; i < size1; i++) {
Node n = nl1_log.item(i);
Node n_db = nl1_db.item(i);
NodeList nl2 = n.getChildNodes();
NodeList nl2_db = n_db.getChildNodes();
int size2 = nl2.getLength();
for (int j = 0; j < size2; j++) {
Node n2 = nl2.item(j);
Node n2_db = nl2_db.item(j);
if (n2.hasChildNodes()) {
  if(n2.getFirstChild().getNodeValue()==null){
  NodeList nl3=n2.getChildNodes();
  NodeList nl3_db=n2_db.getChildNodes();
  int size3=nl3.getLength();

for(int k=0;k<size3;k++){
Node n3=nl3.item(k);
Node n3_db=nl3_db.item(k);
if(n3.hasChildNodes()){
if(n3.getFirstChild().getNodeValue()==null){
NodeList nl4=n3.getChildNodes();
NodeList nl4_db=n3_db.getChildNodes();
int size4=nl4.getLength();

for(int l=0;l<size4;l++){
Node n4=nl4.item(l);
Node n4_db=nl4_db.item(l);
if(n4.hasChildNodes()){
faild_count=(Integer)compare("PK",name,n4.getFirstChild().getNodeValue(),n4_db.getFirstChild().getNodeValue()).get("failed")+faild_count;
}
}

}else{
faild_count=(Integer)compare("PK",name,n3.getFirstChild().getNodeValue(),n3_db.getFirstChild().getNodeValue()).get("failed")+faild_count;
}
}
}
  
  }else{
faild_count=(Integer)compare("PK",name,n2.getFirstChild().getNodeValue(),n2_db.getFirstChild().getNodeValue()).get("failed")+faild_count;
}
}
}
}
Failed_count=Failed_count+faild_count;


} catch (DOMException e) {
// TODO Auto-generated catch block
m_logger.logError("DBProcessorRvt:getNodeValue(): - Exception:\n" + Log4jAdapter.getStackTrace(e));
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值