package test;
import java.io.StringReader;
import java.util.List;
import org.jdom.input.SAXBuilder;
public class SAXBuilder_XmlNode {
/**
* @param yuanshishi
* 2016-11-14 21:30
* 获取xml
* 将xml中的某个(一部分报文节点)循环组进行循环取值
*
*/
public static void main(String[] args) {
String strNode="<?xml version='1.0' encoding='UTF-8'?><Service>"+
"<Service_Header>" +
"<service_sn>1610137000009072980</service_sn>" +
"<service_id>00060000000000</service_id>" +
"<requester_id>0137</requester_id>" +
"<branch_id>810102051</branch_id>" +
"<channel_id>30</channel_id>" +
"<service_time>20161114184635</service_time>" +
"<version_id>01</version_id>" +
"<need_request>true</need_request>" +
"<pub_target_id>61</pub_target_id>" +
"<service_response>" +
"<status>COMPLETE</status>" +
" <code>S000A000</code>" +
"<desc>交易处理成功</desc>" +
"<requester_code>S000A000</requester_code>" +
"<requester_desc>交易处理成功</requester_desc>" +
"</service_response>" +
"<start_timestamp>2016-11-14 18:46:58.133</start_timestamp>" +
"<trace_msg>IBM.SERVICE.RES.OUTPUT-return reponse to requester</trace_msg>" +
"<end_timestamp>2016-11-14 18:46:58.449</end_timestamp>" +
"</Service_Header>" +
"<Service_Body>" +
"<ext_attributes>" +
"<INM-TELLER-ID>81080002 </INM-TELLER-ID>" +
"<INM-BRANCH-ID>810102051</INM-BRANCH-ID>" +
"<INM-TERM-SRL>001</INM-TERM-SRL>" +
"<INM-IC-F55-FIELD loop_num='1' p_type='G'>" +
" <INM-F55-LENGTH>8A</INM-F55-LENGTH>" +
" <INM-F55-DATA></INM-F55-DATA>" +
"</INM-IC-F55-FIELD>" +
"<INM-IC-A-INFO loop_num='1' p_type='G'>" +
"<INM-CRD-NO>6230**1080002155***</INM-CRD-NO>" +
"<INM-CRD-SEQ-NO>001</INM-CRD-SEQ-NO>" +
"<INM-CRD-EC-BAL>000000000000</INM-CRD-EC-BAL>" +
"</INM-IC-A-INFO>" +
"<IS_PROXY>2</IS_PROXY>" +
"<MAC_KEY_LABLE>C8100</MAC_KEY_LABLE>" +
"<PRO_GLB_APPS_SYS_ID>0000006</PRO_GLB_APPS_SYS_ID>" +
"<PRO_SUB_APPS_SYS_ID>0000</PRO_SUB_APPS_SYS_ID>" +
"<INNER_DataProcPara>0,1,0</INNER_DataProcPara>" +
"<REQ_GLB_APPS_SYS_ID>8100137</REQ_GLB_APPS_SYS_ID>" +
"<REQ_SUB_APPS_SYS_ID>0000</REQ_SUB_APPS_SYS_ID>" +
"<T_KEY_LABEL>X0CS0137</T_KEY_LABEL>" +
"</ext_attributes>" +
"<request>" +
"<EBUS_CHANNEL>MB</EBUS_CHANNEL>" +
"<EBUS_TRANS_ID>IM00020013</EBUS_TRANS_ID>" +
"<EBUS_BANKID>810</EBUS_BANKID>" +
"<EBUS_CIP_NAMECN>XXXXX</EBUS_CIP_NAMECN>" +
"<EBUS_CERT_TYPE>A</EBUS_CERT_TYPE>" +
"<EBUS_CERT_NO>XXXXXXXXXX</EBUS_CERT_NO>" +
"<EBUS_AIF_ACCNO>XXXXXXXXXXXXXXX</EBUS_AIF_ACCNO>" +
"<EBUS_CUST_NO>100002193671</EBUS_CUST_NO>" +
"<EBUS_EBANK_STATE>0</EBUS_EBANK_STATE>" +
"<EBUS_MBANK_STATE>0</EBUS_MBANK_STATE>" +
"<EBUS_CIP_HOSTNO>810100123544678 </EBUS_CIP_HOSTNO>" +
"</request>" +
"<MAC_VALUE/>" +
"<MAC/>" +
"<response>" +
"<EBUS_CHANNEL>MB</EBUS_CHANNEL>" +
"<EBUS_CERT_TYPE>A</EBUS_CERT_TYPE>" +
"<EBUS_CERT_NO>430902199306115015</EBUS_CERT_NO>" +
"<EBUS_CIP_HOSTNO>810100123544678</EBUS_CIP_HOSTNO>" +
"<EBUS_CIP_NAMECN>陈龙</EBUS_CIP_NAMECN>" +
"<EBUS_CUST_SEX>1</EBUS_CUST_SEX>" +
"<EBUS_CUST_NO>100002193671</EBUS_CUST_NO>" +
"<EBUS_EBANK_CUSTTYPE>01</EBUS_EBANK_CUSTTYPE>" +
"<EBUS_MBANK_CUSTTYPE>01</EBUS_MBANK_CUSTTYPE>" +
"<EBUS_ADRESS>#######################</EBUS_ADRESS>" +
"<EBUS_USER_MOBILE>##############</EBUS_USER_MOBILE>" +
"<EBUS_MBANK_MOBILE>##########</EBUS_MBANK_MOBILE>" +
"<EBUS_EBANK_STATE>0</EBUS_EBANK_STATE>" +
"<EBUS_MBANK_STATE>0</EBUS_MBANK_STATE>" +
"<EBUS_EBANK_SAFESTYLE>0100000000</EBUS_EBANK_SAFESTYLE>" +
"<EBUS_MBANK_SAFESTYLE>0100000000</EBUS_MBANK_SAFESTYLE>" +
"<EBUS_EBANK_OPENFLAG>1</EBUS_EBANK_OPENFLAG>" +
"<EBUS_MBANK_OPENFLAG>1</EBUS_MBANK_OPENFLAG>" +
"<ResultSet>" +
"<MB_LIMITS id='1'>" +
"<EBUS_ALM_BSNTYPE>01</EBUS_ALM_BSNTYPE>" +
"<EBUS_ALM_SINGLEMAX>10000</EBUS_ALM_SINGLEMAX>" +
"<EBUS_ALM_DAYMAX>1000</EBUS_ALM_DAYMAX>" +
"<EBUS_ALM_SCOPE>0</EBUS_ALM_SCOPE>" +
"</MB_LIMITS>" +
"<MB_LIMITS id='2'>" +
"<EBUS_ALM_BSNTYPE>02</EBUS_ALM_BSNTYPE>" +
" <EBUS_ALM_SINGLEMAX>9999999</EBUS_ALM_SINGLEMAX>" +
"<EBUS_ALM_DAYMAX>9999999</EBUS_ALM_DAYMAX>" +
"<EBUS_ALM_SCOPE>0</EBUS_ALM_SCOPE>" +
"</MB_LIMITS>" +
"<MB_LIMITS id='3'>" +
"<EBUS_ALM_BSNTYPE>03</EBUS_ALM_BSNTYPE>" +
" <EBUS_ALM_SINGLEMAX>10000</EBUS_ALM_SINGLEMAX>" +
" <EBUS_ALM_DAYMAX>50000</EBUS_ALM_DAYMAX>" +
" <EBUS_ALM_SCOPE>0</EBUS_ALM_SCOPE>" +
"</MB_LIMITS>" +
"</ResultSet>" +
"<ResultSet>" +
"<SECURITY_LIST>" +
"<EBUS_SECURITY_TYPE>03</EBUS_SECURITY_TYPE>" +
" <EBUS_SECURITY_LEVEL>8</EBUS_SECURITY_LEVEL>" +
"<EBUS_SECURITY_NAME>1421</EBUS_SECURITY_NAME>" +
"<EBUS_SECURITY_NO>8104200000071</EBUS_SECURITY_NO>" +
"</SECURITY_LIST>" +
"</ResultSet>" +
"<EBUS_PB_LIMITS>" +
"<PB_LIMITS id='1'>" +
"<EBUS_ALM_BSNTYPE>01</EBUS_ALM_BSNTYPE>" +
"<EBUS_PCS_SAFETYPE>01</EBUS_PCS_SAFETYPE>" +
"<EBUS_ALM_DAYMAX>5000000</EBUS_ALM_DAYMAX>" +
"</PB_LIMITS>" +
"<PB_LIMITS id='2'>" +
"<EBUS_ALM_BSNTYPE>01</EBUS_ALM_BSNTYPE>" +
"<EBUS_PCS_SAFETYPE>02</EBUS_PCS_SAFETYPE>" +
" <EBUS_ALM_DAYMAX>50000</EBUS_ALM_DAYMAX>" +
" </PB_LIMITS>" +
"<PB_LIMITS id='3'>" +
" <EBUS_ALM_BSNTYPE>01</EBUS_ALM_BSNTYPE>" +
" <EBUS_PCS_SAFETYPE>03</EBUS_PCS_SAFETYPE>" +
" <EBUS_ALM_DAYMAX>3000000</EBUS_ALM_DAYMAX>" +
"</PB_LIMITS>" +
"<PB_LIMITS id='4'>" +
" <EBUS_ALM_BSNTYPE>02</EBUS_ALM_BSNTYPE>" +
"<EBUS_PCS_SAFETYPE>01</EBUS_PCS_SAFETYPE>" +
"<EBUS_ALM_DAYMAX>5000</EBUS_ALM_DAYMAX>" +
"</PB_LIMITS>" +
"<PB_LIMITS id='5'>" +
"<EBUS_ALM_BSNTYPE>02</EBUS_ALM_BSNTYPE>" +
"<EBUS_PCS_SAFETYPE>02</EBUS_PCS_SAFETYPE>" +
" <EBUS_ALM_DAYMAX>5000</EBUS_ALM_DAYMAX>" +
"</PB_LIMITS>" +
"<PB_LIMITS id='6'>" +
"<EBUS_ALM_BSNTYPE>02</EBUS_ALM_BSNTYPE>" +
"<EBUS_PCS_SAFETYPE>03</EBUS_PCS_SAFETYPE>" +
" <EBUS_ALM_DAYMAX>5000</EBUS_ALM_DAYMAX>" +
"</PB_LIMITS>" +
"</EBUS_PB_LIMITS>" +
" </response>" +
"</Service_Body>" +
"</Service>";
if(strNode.indexOf("<EBUS_PB_LIMITS>")!=-1){
System.out.println("===完整的xml报文=== new String(realrecv)==============="+ strNode);
strNode = strNode.substring(strNode.indexOf("<EBUS_PB_LIMITS>"), strNode.indexOf("</EBUS_PB_LIMITS>")+17);
System.out.println("===截取之后的部分循环节点=== strNode==============="+ strNode);
getXmlNode(strNode);
}else{
System.out.println("**********************");
}
}
public static String getXmlNode(String strNode){
String result="";
/* strNode ="<EBUS_PB_LIMITS>" +
"<PB_LIMITS id='1'>" +
"<EBUS_ALM_BSNTYPE>01</EBUS_ALM_BSNTYPE>" +
"<EBUS_PCS_SAFETYPE>01</EBUS_PCS_SAFETYPE>" +
"<EBUS_ALM_DAYMAX>5000000</EBUS_ALM_DAYMAX>" +
" </PB_LIMITS>" +
"<PB_LIMITS id='2'>" +
"<EBUS_ALM_BSNTYPE>01</EBUS_ALM_BSNTYPE>" +
" <EBUS_PCS_SAFETYPE>02</EBUS_PCS_SAFETYPE>" +
" <EBUS_ALM_DAYMAX>50000</EBUS_ALM_DAYMAX>" +
" </PB_LIMITS>" +
"<PB_LIMITS id='3'>" +
" <EBUS_ALM_BSNTYPE>01</EBUS_ALM_BSNTYPE>" +
" <EBUS_PCS_SAFETYPE>03</EBUS_PCS_SAFETYPE>" +
"<EBUS_ALM_DAYMAX>3000000</EBUS_ALM_DAYMAX>" +
"</PB_LIMITS>" +
"<PB_LIMITS id='4'>" +
"<EBUS_ALM_BSNTYPE>02</EBUS_ALM_BSNTYPE>" +
" <EBUS_PCS_SAFETYPE>01</EBUS_PCS_SAFETYPE>" +
"<EBUS_ALM_DAYMAX>5000</EBUS_ALM_DAYMAX>" +
"</PB_LIMITS>" +
"<PB_LIMITS id='5'>" +
" <EBUS_ALM_BSNTYPE>02</EBUS_ALM_BSNTYPE>" +
"<EBUS_PCS_SAFETYPE>02</EBUS_PCS_SAFETYPE>" +
"<EBUS_ALM_DAYMAX>5000</EBUS_ALM_DAYMAX>" +
"</PB_LIMITS>" +
"<PB_LIMITS id='6'>" +
"<EBUS_ALM_BSNTYPE>02</EBUS_ALM_BSNTYPE>" +
" <EBUS_PCS_SAFETYPE>03</EBUS_PCS_SAFETYPE>" +
" <EBUS_ALM_DAYMAX>5000</EBUS_ALM_DAYMAX>" +
"</PB_LIMITS></EBUS_PB_LIMITS>";*/
try{
/* <PB_LIMITS id='4'>
<EBUS_ALM_BSNTYPE>02</EBUS_ALM_BSNTYPE>
<EBUS_PCS_SAFETYPE>01</EBUS_PCS_SAFETYPE>
<EBUS_ALM_DAYMAX>5000</EBUS_ALM_DAYMAX>
String Ukey_transferLimit="";//uKEY的转账限额
String Ukey_PayLimit="";//uKEY的支付限额
String lp_transferLimit="";//令牌的转账限额
String lp_PayLimit="";//令牌的支付限额
String EBUS_ALM_BSNTYPE_i="";//限额类型
String EBUS_PCS_SAFETYPE_i="";//客户安全认证方式 (01:USBKEY;02:短信;03:token; 05:大众版)
String EBUS_ALM_DAYMAX_i="";//日累计限额
org.jdom.Document doc = new SAXBuilder().build(new StringReader(strNode));
List listLIMITS = doc.getRootElement().getChildren("PB_LIMITS");
for(int i=0;i<listLIMITS.size();i++){
String id_i = ((org.jdom.Element)listLIMITS.get(i)).getAttributeValue("id");
EBUS_ALM_BSNTYPE_i = ((org.jdom.Element)listLIMITS.get(i)).getChildText("EBUS_ALM_BSNTYPE");
EBUS_PCS_SAFETYPE_i = ((org.jdom.Element)listLIMITS.get(i)).getChildText("EBUS_PCS_SAFETYPE");
EBUS_ALM_DAYMAX_i = ((org.jdom.Element)listLIMITS.get(i)).getChildText("EBUS_ALM_DAYMAX");
//System.out.println(id_i + " " + EBUS_ALM_BSNTYPE_i +" "+EBUS_ALM_DAYMAX_i +" =="+EBUS_PCS_SAFETYPE_i);
if("01".equals(EBUS_ALM_BSNTYPE_i)&&"01".equals(EBUS_PCS_SAFETYPE_i)){
//uKEY的转账限额
System.out.println("uKEY的转账限额 Ukey_transferLimit=== "+EBUS_ALM_DAYMAX_i);
}else if("01".equals(EBUS_ALM_BSNTYPE_i)&&"03".equals(EBUS_PCS_SAFETYPE_i)){
//令牌的转账限额
System.out.println("令牌的转账限额 lp_transferLimit=== "+EBUS_ALM_DAYMAX_i);
}else if("02".equals(EBUS_ALM_BSNTYPE_i)&&"01".equals(EBUS_PCS_SAFETYPE_i)){
//uKEY的支付限额
System.out.println("uKEY的支付限额 Ukey_PayLimit=== "+EBUS_ALM_DAYMAX_i);
}else if("02".equals(EBUS_ALM_BSNTYPE_i)&&"03".equals(EBUS_PCS_SAFETYPE_i)){
//令牌的支付限额
System.out.println("令牌的支付限额 lp_PayLimit=== "+EBUS_ALM_DAYMAX_i);
}
}
result="success";
}catch(Exception e){
e.printStackTrace();
}
return result;
}
import java.io.StringReader;
import java.util.List;
import org.jdom.input.SAXBuilder;
public class SAXBuilder_XmlNode {
/**
* @param yuanshishi
* 2016-11-14 21:30
* 获取xml
* 将xml中的某个(一部分报文节点)循环组进行循环取值
*
*/
public static void main(String[] args) {
String strNode="<?xml version='1.0' encoding='UTF-8'?><Service>"+
"<Service_Header>" +
"<service_sn>1610137000009072980</service_sn>" +
"<service_id>00060000000000</service_id>" +
"<requester_id>0137</requester_id>" +
"<branch_id>810102051</branch_id>" +
"<channel_id>30</channel_id>" +
"<service_time>20161114184635</service_time>" +
"<version_id>01</version_id>" +
"<need_request>true</need_request>" +
"<pub_target_id>61</pub_target_id>" +
"<service_response>" +
"<status>COMPLETE</status>" +
" <code>S000A000</code>" +
"<desc>交易处理成功</desc>" +
"<requester_code>S000A000</requester_code>" +
"<requester_desc>交易处理成功</requester_desc>" +
"</service_response>" +
"<start_timestamp>2016-11-14 18:46:58.133</start_timestamp>" +
"<trace_msg>IBM.SERVICE.RES.OUTPUT-return reponse to requester</trace_msg>" +
"<end_timestamp>2016-11-14 18:46:58.449</end_timestamp>" +
"</Service_Header>" +
"<Service_Body>" +
"<ext_attributes>" +
"<INM-TELLER-ID>81080002 </INM-TELLER-ID>" +
"<INM-BRANCH-ID>810102051</INM-BRANCH-ID>" +
"<INM-TERM-SRL>001</INM-TERM-SRL>" +
"<INM-IC-F55-FIELD loop_num='1' p_type='G'>" +
" <INM-F55-LENGTH>8A</INM-F55-LENGTH>" +
" <INM-F55-DATA></INM-F55-DATA>" +
"</INM-IC-F55-FIELD>" +
"<INM-IC-A-INFO loop_num='1' p_type='G'>" +
"<INM-CRD-NO>6230**1080002155***</INM-CRD-NO>" +
"<INM-CRD-SEQ-NO>001</INM-CRD-SEQ-NO>" +
"<INM-CRD-EC-BAL>000000000000</INM-CRD-EC-BAL>" +
"</INM-IC-A-INFO>" +
"<IS_PROXY>2</IS_PROXY>" +
"<MAC_KEY_LABLE>C8100</MAC_KEY_LABLE>" +
"<PRO_GLB_APPS_SYS_ID>0000006</PRO_GLB_APPS_SYS_ID>" +
"<PRO_SUB_APPS_SYS_ID>0000</PRO_SUB_APPS_SYS_ID>" +
"<INNER_DataProcPara>0,1,0</INNER_DataProcPara>" +
"<REQ_GLB_APPS_SYS_ID>8100137</REQ_GLB_APPS_SYS_ID>" +
"<REQ_SUB_APPS_SYS_ID>0000</REQ_SUB_APPS_SYS_ID>" +
"<T_KEY_LABEL>X0CS0137</T_KEY_LABEL>" +
"</ext_attributes>" +
"<request>" +
"<EBUS_CHANNEL>MB</EBUS_CHANNEL>" +
"<EBUS_TRANS_ID>IM00020013</EBUS_TRANS_ID>" +
"<EBUS_BANKID>810</EBUS_BANKID>" +
"<EBUS_CIP_NAMECN>XXXXX</EBUS_CIP_NAMECN>" +
"<EBUS_CERT_TYPE>A</EBUS_CERT_TYPE>" +
"<EBUS_CERT_NO>XXXXXXXXXX</EBUS_CERT_NO>" +
"<EBUS_AIF_ACCNO>XXXXXXXXXXXXXXX</EBUS_AIF_ACCNO>" +
"<EBUS_CUST_NO>100002193671</EBUS_CUST_NO>" +
"<EBUS_EBANK_STATE>0</EBUS_EBANK_STATE>" +
"<EBUS_MBANK_STATE>0</EBUS_MBANK_STATE>" +
"<EBUS_CIP_HOSTNO>810100123544678 </EBUS_CIP_HOSTNO>" +
"</request>" +
"<MAC_VALUE/>" +
"<MAC/>" +
"<response>" +
"<EBUS_CHANNEL>MB</EBUS_CHANNEL>" +
"<EBUS_CERT_TYPE>A</EBUS_CERT_TYPE>" +
"<EBUS_CERT_NO>430902199306115015</EBUS_CERT_NO>" +
"<EBUS_CIP_HOSTNO>810100123544678</EBUS_CIP_HOSTNO>" +
"<EBUS_CIP_NAMECN>陈龙</EBUS_CIP_NAMECN>" +
"<EBUS_CUST_SEX>1</EBUS_CUST_SEX>" +
"<EBUS_CUST_NO>100002193671</EBUS_CUST_NO>" +
"<EBUS_EBANK_CUSTTYPE>01</EBUS_EBANK_CUSTTYPE>" +
"<EBUS_MBANK_CUSTTYPE>01</EBUS_MBANK_CUSTTYPE>" +
"<EBUS_ADRESS>#######################</EBUS_ADRESS>" +
"<EBUS_USER_MOBILE>##############</EBUS_USER_MOBILE>" +
"<EBUS_MBANK_MOBILE>##########</EBUS_MBANK_MOBILE>" +
"<EBUS_EBANK_STATE>0</EBUS_EBANK_STATE>" +
"<EBUS_MBANK_STATE>0</EBUS_MBANK_STATE>" +
"<EBUS_EBANK_SAFESTYLE>0100000000</EBUS_EBANK_SAFESTYLE>" +
"<EBUS_MBANK_SAFESTYLE>0100000000</EBUS_MBANK_SAFESTYLE>" +
"<EBUS_EBANK_OPENFLAG>1</EBUS_EBANK_OPENFLAG>" +
"<EBUS_MBANK_OPENFLAG>1</EBUS_MBANK_OPENFLAG>" +
"<ResultSet>" +
"<MB_LIMITS id='1'>" +
"<EBUS_ALM_BSNTYPE>01</EBUS_ALM_BSNTYPE>" +
"<EBUS_ALM_SINGLEMAX>10000</EBUS_ALM_SINGLEMAX>" +
"<EBUS_ALM_DAYMAX>1000</EBUS_ALM_DAYMAX>" +
"<EBUS_ALM_SCOPE>0</EBUS_ALM_SCOPE>" +
"</MB_LIMITS>" +
"<MB_LIMITS id='2'>" +
"<EBUS_ALM_BSNTYPE>02</EBUS_ALM_BSNTYPE>" +
" <EBUS_ALM_SINGLEMAX>9999999</EBUS_ALM_SINGLEMAX>" +
"<EBUS_ALM_DAYMAX>9999999</EBUS_ALM_DAYMAX>" +
"<EBUS_ALM_SCOPE>0</EBUS_ALM_SCOPE>" +
"</MB_LIMITS>" +
"<MB_LIMITS id='3'>" +
"<EBUS_ALM_BSNTYPE>03</EBUS_ALM_BSNTYPE>" +
" <EBUS_ALM_SINGLEMAX>10000</EBUS_ALM_SINGLEMAX>" +
" <EBUS_ALM_DAYMAX>50000</EBUS_ALM_DAYMAX>" +
" <EBUS_ALM_SCOPE>0</EBUS_ALM_SCOPE>" +
"</MB_LIMITS>" +
"</ResultSet>" +
"<ResultSet>" +
"<SECURITY_LIST>" +
"<EBUS_SECURITY_TYPE>03</EBUS_SECURITY_TYPE>" +
" <EBUS_SECURITY_LEVEL>8</EBUS_SECURITY_LEVEL>" +
"<EBUS_SECURITY_NAME>1421</EBUS_SECURITY_NAME>" +
"<EBUS_SECURITY_NO>8104200000071</EBUS_SECURITY_NO>" +
"</SECURITY_LIST>" +
"</ResultSet>" +
"<EBUS_PB_LIMITS>" +
"<PB_LIMITS id='1'>" +
"<EBUS_ALM_BSNTYPE>01</EBUS_ALM_BSNTYPE>" +
"<EBUS_PCS_SAFETYPE>01</EBUS_PCS_SAFETYPE>" +
"<EBUS_ALM_DAYMAX>5000000</EBUS_ALM_DAYMAX>" +
"</PB_LIMITS>" +
"<PB_LIMITS id='2'>" +
"<EBUS_ALM_BSNTYPE>01</EBUS_ALM_BSNTYPE>" +
"<EBUS_PCS_SAFETYPE>02</EBUS_PCS_SAFETYPE>" +
" <EBUS_ALM_DAYMAX>50000</EBUS_ALM_DAYMAX>" +
" </PB_LIMITS>" +
"<PB_LIMITS id='3'>" +
" <EBUS_ALM_BSNTYPE>01</EBUS_ALM_BSNTYPE>" +
" <EBUS_PCS_SAFETYPE>03</EBUS_PCS_SAFETYPE>" +
" <EBUS_ALM_DAYMAX>3000000</EBUS_ALM_DAYMAX>" +
"</PB_LIMITS>" +
"<PB_LIMITS id='4'>" +
" <EBUS_ALM_BSNTYPE>02</EBUS_ALM_BSNTYPE>" +
"<EBUS_PCS_SAFETYPE>01</EBUS_PCS_SAFETYPE>" +
"<EBUS_ALM_DAYMAX>5000</EBUS_ALM_DAYMAX>" +
"</PB_LIMITS>" +
"<PB_LIMITS id='5'>" +
"<EBUS_ALM_BSNTYPE>02</EBUS_ALM_BSNTYPE>" +
"<EBUS_PCS_SAFETYPE>02</EBUS_PCS_SAFETYPE>" +
" <EBUS_ALM_DAYMAX>5000</EBUS_ALM_DAYMAX>" +
"</PB_LIMITS>" +
"<PB_LIMITS id='6'>" +
"<EBUS_ALM_BSNTYPE>02</EBUS_ALM_BSNTYPE>" +
"<EBUS_PCS_SAFETYPE>03</EBUS_PCS_SAFETYPE>" +
" <EBUS_ALM_DAYMAX>5000</EBUS_ALM_DAYMAX>" +
"</PB_LIMITS>" +
"</EBUS_PB_LIMITS>" +
" </response>" +
"</Service_Body>" +
"</Service>";
if(strNode.indexOf("<EBUS_PB_LIMITS>")!=-1){
System.out.println("===完整的xml报文=== new String(realrecv)==============="+ strNode);
strNode = strNode.substring(strNode.indexOf("<EBUS_PB_LIMITS>"), strNode.indexOf("</EBUS_PB_LIMITS>")+17);
System.out.println("===截取之后的部分循环节点=== strNode==============="+ strNode);
getXmlNode(strNode);
}else{
System.out.println("**********************");
}
}
public static String getXmlNode(String strNode){
String result="";
/* strNode ="<EBUS_PB_LIMITS>" +
"<PB_LIMITS id='1'>" +
"<EBUS_ALM_BSNTYPE>01</EBUS_ALM_BSNTYPE>" +
"<EBUS_PCS_SAFETYPE>01</EBUS_PCS_SAFETYPE>" +
"<EBUS_ALM_DAYMAX>5000000</EBUS_ALM_DAYMAX>" +
" </PB_LIMITS>" +
"<PB_LIMITS id='2'>" +
"<EBUS_ALM_BSNTYPE>01</EBUS_ALM_BSNTYPE>" +
" <EBUS_PCS_SAFETYPE>02</EBUS_PCS_SAFETYPE>" +
" <EBUS_ALM_DAYMAX>50000</EBUS_ALM_DAYMAX>" +
" </PB_LIMITS>" +
"<PB_LIMITS id='3'>" +
" <EBUS_ALM_BSNTYPE>01</EBUS_ALM_BSNTYPE>" +
" <EBUS_PCS_SAFETYPE>03</EBUS_PCS_SAFETYPE>" +
"<EBUS_ALM_DAYMAX>3000000</EBUS_ALM_DAYMAX>" +
"</PB_LIMITS>" +
"<PB_LIMITS id='4'>" +
"<EBUS_ALM_BSNTYPE>02</EBUS_ALM_BSNTYPE>" +
" <EBUS_PCS_SAFETYPE>01</EBUS_PCS_SAFETYPE>" +
"<EBUS_ALM_DAYMAX>5000</EBUS_ALM_DAYMAX>" +
"</PB_LIMITS>" +
"<PB_LIMITS id='5'>" +
" <EBUS_ALM_BSNTYPE>02</EBUS_ALM_BSNTYPE>" +
"<EBUS_PCS_SAFETYPE>02</EBUS_PCS_SAFETYPE>" +
"<EBUS_ALM_DAYMAX>5000</EBUS_ALM_DAYMAX>" +
"</PB_LIMITS>" +
"<PB_LIMITS id='6'>" +
"<EBUS_ALM_BSNTYPE>02</EBUS_ALM_BSNTYPE>" +
" <EBUS_PCS_SAFETYPE>03</EBUS_PCS_SAFETYPE>" +
" <EBUS_ALM_DAYMAX>5000</EBUS_ALM_DAYMAX>" +
"</PB_LIMITS></EBUS_PB_LIMITS>";*/
try{
/* <PB_LIMITS id='4'>
<EBUS_ALM_BSNTYPE>02</EBUS_ALM_BSNTYPE>
<EBUS_PCS_SAFETYPE>01</EBUS_PCS_SAFETYPE>
<EBUS_ALM_DAYMAX>5000</EBUS_ALM_DAYMAX>
</PB_LIMITS>
*/
String Ukey_transferLimit="";//uKEY的转账限额
String Ukey_PayLimit="";//uKEY的支付限额
String lp_transferLimit="";//令牌的转账限额
String lp_PayLimit="";//令牌的支付限额
String EBUS_ALM_BSNTYPE_i="";//限额类型
String EBUS_PCS_SAFETYPE_i="";//客户安全认证方式 (01:USBKEY;02:短信;03:token; 05:大众版)
String EBUS_ALM_DAYMAX_i="";//日累计限额
org.jdom.Document doc = new SAXBuilder().build(new StringReader(strNode));
List listLIMITS = doc.getRootElement().getChildren("PB_LIMITS");
for(int i=0;i<listLIMITS.size();i++){
String id_i = ((org.jdom.Element)listLIMITS.get(i)).getAttributeValue("id");
EBUS_ALM_BSNTYPE_i = ((org.jdom.Element)listLIMITS.get(i)).getChildText("EBUS_ALM_BSNTYPE");
EBUS_PCS_SAFETYPE_i = ((org.jdom.Element)listLIMITS.get(i)).getChildText("EBUS_PCS_SAFETYPE");
EBUS_ALM_DAYMAX_i = ((org.jdom.Element)listLIMITS.get(i)).getChildText("EBUS_ALM_DAYMAX");
//System.out.println(id_i + " " + EBUS_ALM_BSNTYPE_i +" "+EBUS_ALM_DAYMAX_i +" =="+EBUS_PCS_SAFETYPE_i);
if("01".equals(EBUS_ALM_BSNTYPE_i)&&"01".equals(EBUS_PCS_SAFETYPE_i)){
//uKEY的转账限额
System.out.println("uKEY的转账限额 Ukey_transferLimit=== "+EBUS_ALM_DAYMAX_i);
}else if("01".equals(EBUS_ALM_BSNTYPE_i)&&"03".equals(EBUS_PCS_SAFETYPE_i)){
//令牌的转账限额
System.out.println("令牌的转账限额 lp_transferLimit=== "+EBUS_ALM_DAYMAX_i);
}else if("02".equals(EBUS_ALM_BSNTYPE_i)&&"01".equals(EBUS_PCS_SAFETYPE_i)){
//uKEY的支付限额
System.out.println("uKEY的支付限额 Ukey_PayLimit=== "+EBUS_ALM_DAYMAX_i);
}else if("02".equals(EBUS_ALM_BSNTYPE_i)&&"03".equals(EBUS_PCS_SAFETYPE_i)){
//令牌的支付限额
System.out.println("令牌的支付限额 lp_PayLimit=== "+EBUS_ALM_DAYMAX_i);
}
}
result="success";
}catch(Exception e){
e.printStackTrace();
}
return result;
}
}