String xml= HttpKit.readData(getRequest());
try {
Document document = DocumentHelper.parseText(xml);
Element element0 = document.getRootElement();//获取一级元素
Element TrxResponse = element0.element("String").element("String0");
String string6= TrxResponse.element("string6").getStringValue();
if("0000".equals(ReturnCode)){
String ErrorMessage = TrxResponse.element("String1").getStringValue();
String ECMerchantType = TrxResponse.element("String2").getStringValue();
String String3= TrxResponse.element("String3").getStringValue();
String String4= TrxResponse.element("String4").getStringValue();
String String5= TrxResponse.element("String5").getStringValue();
String SignatureAlgorithm = element0.element("Signature-Algorithm").getStringValue();
String Signature = element0.element("Signature").getStringValue();
result = Db.update("INSERT INTO orderinfo (ReturnCode,ErrorMessage,ECMerchantType,MerchantID,TrxType,"
+ "OrderNo,Amount,BatchNo,VoucherNo,HostDate,HostTime,PayType,NotifyType,iRspRef,SignatureAlgorithm,"
+ "Signature) values(?, ?, ?, ?, ?, ?, ?,?, ?, ?, ?, ?, ?, ?,?,?)",ReturnCode,ErrorMessage,ECMerchantType,
MerchantID,TrxType,OrderNo,Amount,BatchNo,VoucherNo,HostDate,HostTime,PayType,NotifyType,iRspRef
,SignatureAlgorithm,Signature);
}else{
}
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
代码如上所示,要先用 String xml= HttpKit.readData(getRequest()); 获取xml报文内容,然后利用document来讲String转换成xml,然后就是根据标签来获取响应的属性,如下图所示,第一级元素用 document.getRootElement()来获得,然后再用element0.element("String").element("String0");获取下级元素,获得属性值用element.element("string6").getStringValue();来获得
<String>
<String0>
<String1>
<String2>0000</String2>
<String3>CCCCC</String3>
<String4>bbb</String4>
<String5>103884199990016</String5>
<String6>ABCCardPay</String6>
<String7>TestOrderNo1436321471338</String7>
<String8>0.01</String8>
<String9>000001</String9>
<String10>000204</String10>
</String1>
</String0>
</String>
以上就是jfinal获取xml格式报文的操作过程,也是转载自别人的博客,并稍加改动,如有侵权请告知!