Element CATIElement = null;
while(iterator.hasNext()) { / I 循环 fxqdejy = (FxqDejy)iterator.next();
i=i+1;
String stri =""+i;
CATIElement = CATIsElement.addElement("CATI"); ...
}
while(iterator.hasNext()) { / I 循环 fxqdejy = (FxqDejy)iterator.next();
i=i+1;
String stri =""+i;
CATIElement = CATIsElement.addElement("CATI"); ...
}
package com.KCCB.app;import java.io.File;
import java.io.FileWriter;
import java.io.UnsupportedEncodingException;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Attribute;
import org.dom4j.Branch;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.XMLWriter;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;import com.KCCB.db.*;
import com.KCCB.pojo.*;
import java.io.OutputStream;public class CreateXmlNBH {
public CreateXmlNBH(){
} public String createDaeXMLFile(OutputStream os) throws UnsupportedEncodingException{
String returnvalue="success";
int i = 0;
int j = 0;
FxDejyDAO fxdejydao = new FxDejyDAO();
FxqDejy fxqdejy = new FxqDejy();
FxqNumDAO faxnumdao = new FxqNumDAO();
FxqNum faxnum = new FxqNum();
Document document = DocumentHelper.createDocument();
List list = fxdejydao.findAll("20070401");
Iterator iterator = list.iterator();
Element HVTRElement = document.addElement("HVTR");
HVTRElement.addComment("大额交易报文");
Element RBIFElement = HVTRElement.addElement("RBIF");
//bookElement.addAttribute("show", "yes");
fxqdejy = (FxqDejy)iterator.next();
Element RINMElement = RBIFElement.addElement("RINM");
RINMElement.setText(new String(fxqdejy.getRinm().getBytes("cp850")));//("报告机构名称")
Element RICDElement = RBIFElement.addElement("RICD");
RICDElement.setText(fxqdejy.getRicd());//("报告机构编码")
Element RPDTElement = RBIFElement.addElement("RPDT");
RPDTElement.setText(fxqdejy.getId().getRpdt());//("报告生成日期")
Element CTTNElement = RBIFElement.addElement("CTTN");
CTTNElement.setText(fxqdejy.getId().getCttn());//("交易主体总数")
Element CATIsElement = HVTRElement.addElement("CATIs");
while(iterator.hasNext()) { //CATI 循环
fxqdejy = (FxqDejy)iterator.next();
i=i+1;
String stri =""+i;
Element CATIElement = CATIsElement.addElement("CATI");
CATIsElement.addElement("CATI");
CATIElement.addAttribute("seqno", stri);
Element CTIFElement = CATIElement.addElement("CTIF");
Element CTNMElement = CTIFElement.addElement("CTNM");
CTNMElement.setText(new String(fxqdejy.getCtnm().getBytes("cp850")));//("客户名称")
Element CITPElement = CTIFElement.addElement("CITP");
CITPElement.setText(fxqdejy.getCitp()); //"客户身份证件类型"
Element CTIDElement = CTIFElement.addElement("CTID");
CTIDElement.setText(fxqdejy.getCsnm()); //"客户证件号码"
Element CSNMElement = CTIFElement.addElement("CSNM");
CSNMElement.setText(fxqdejy.getCsnm()); //"客户号"
Element CTNTElement = CTIFElement.addElement("CTNT");
CTNTElement.setText(fxqdejy.getCtnt()); //"客户国籍"
}
Element HTDTElement = CATIElement.addElement("HTDT");
HTDTElement.setText(fxqdejy.getHtdt());//"大额交易发生日期"
Element HTCRsElement = CATIElement.addElement("HTCRs");
Element HTCRElement = HTCRsElement.addElement("HTCR");
HTCRElement.addAttribute("seqno", "1");
Element CRCDElement = HTCRElement.addElement("CRCD");
CRCDElement.setText(fxqdejy.getCrcd()); //("大额交易特征代码")
Element TTNMElement = HTCRElement.addElement("TTNM");
TTNMElement.setText(fxqdejy.getTtnm()); //"交易总数"
Element TSDTsElement = HTCRElement.addElement("TSDTs");
Element TSDTElement = TSDTsElement.addElement("TSDT");
TSDTElement.addAttribute("seqno", "1");
Element RINIElement = TSDTElement.addElement("RINI");
Element FINNElement = RINIElement.addElement("FINN");
FINNElement.setText(new String(fxqdejy.getFinn().getBytes("cp850")));//"金融机构网点名称"
Element FIRCElement = RINIElement.addElement("FIRC");
FIRCElement.setText(fxqdejy.getFirc()); //"金融机构所在地区行政区划代码"
Element RLTPElement = RINIElement.addElement("RLTP");
RLTPElement.setText(fxqdejy.getRltp()); //"金融机构与大额交易的关系"
Element FICTElement = RINIElement.addElement("FICT");
FICTElement.setText(fxqdejy.getFict()); //"金融机构网点代码类型"
Element FINCElement = RINIElement.addElement("FINC");
FINCElement.setText(fxqdejy.getFinc()); //"金融机构网点代码"
Element CATPElement = RINIElement.addElement("CATP");
CATPElement.setText(fxqdejy.getCatp()); //"账户类型"
Element CTACElement = RINIElement.addElement("CTAC");
CTACElement.setText(fxqdejy.getCtac()); //"账户"
Element TBIFElement = TSDTElement.addElement("TBIF");
Element TBNMElement = TBIFElement.addElement("TBNM");
TBNMElement.setText(new String(fxqdejy.getTbnm().getBytes("cp850"))); //"交易代办人姓名"
Element TBITElement = TBIFElement.addElement("TBIT");
TBITElement.setText(fxqdejy.getTbit()); //"代办人身份证件类型"
Element TBIDElement = TBIFElement.addElement("TBID");
TBIDElement.setText(fxqdejy.getTbid()); //"交易代办人身份证件号码"
Element TBNTElement = TBIFElement.addElement("TBNT");
TBNTElement.setText(fxqdejy.getTbnt()); //"代办人国籍"
Element TSIFElement = TSDTElement.addElement("TSIF");
Element TSTMElement = TSIFElement.addElement("TSTM");
TSTMElement.setText(fxqdejy.getTstm()); //"交易时间"
Element TICDElement = TSIFElement.addElement("TICD");
TICDElement.setText(fxqdejy.getTicd()); //"业务标示号"
Element TSTPElement = TSIFElement.addElement("TSTP");
TSTPElement.setText(fxqdejy.getTstp()); //"交易方式"
Element TSCTElement = TSIFElement.addElement("TSCT");
TSCTElement.setText(fxqdejy.getTsct()); //"涉外收支交易分类与代码"
Element TSDRElement = TSIFElement.addElement("TSDR");
TSDRElement.setText(fxqdejy.getTsdr()); //"资金收付标识"
Element TDRCElement = TSIFElement.addElement("TDRC");
TDRCElement.setText("fxqdejy.getTdrc()"); //"交易去向"
Element TRCDElement = TSIFElement.addElement("TRCD");
TRCDElement.setText("fxqdejy.getTrcd()"); //"交易发生地"
Element CRPPElement = TSIFElement.addElement("CRPP");
CRPPElement.setText("fxqdejy.getCrpp()"); //"资金用途"
Element CRTPElement = TSIFElement.addElement("CRTP");
CRTPElement.setText(fxqdejy.getCrtp()); //"币种"
Element CRATElement = TSIFElement.addElement("CRAT");
CRATElement.setText(fxqdejy.getCrat()); //"交易金额"
Element TCIFElement = TSDTElement.addElement("TCIF");
Element CFINElement = TCIFElement.addElement("CFIN");
CFINElement.setText(new String(fxqdejy.getCfin().getBytes("cp850"))); //"对方金融机构网点名称"
Element CFCTElement = TCIFElement.addElement("CFCT");
CFCTElement.setText(fxqdejy.getCfct()); // "对方金融机构代码类型"
Element CFICElement = TCIFElement.addElement("CFIC");
CFICElement.setText(fxqdejy.getCfic()); //"对方金融机构网点代码"
Element TCNMElement = TCIFElement.addElement("TCNM");
TCNMElement.setText("new String(fxqdejy.getTcnm().getBytes())"); //"交易对手姓名"
Element TCITElement = TCIFElement.addElement("TCIT");
TCITElement.setText(fxqdejy.getTcit()); //"交易对手证件类型"
Element TCIDElement = TCIFElement.addElement("TCID");
TCIDElement.setText(fxqdejy.getTcid()); //"交易对手证件号码"
Element TCATElement = TCIFElement.addElement("TCAT");
TCATElement.setText(fxqdejy.getTcat()); //"交易对手账号类型"
Element TCACElement = TCIFElement.addElement("TCAC");
TCACElement.setText("fxqdejy.getTcac()"); //"交易对手账号"
try{
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("gb18030");
XMLWriter writer = new XMLWriter(os,format);
writer.write(document);
writer.close();
os.close();
faxnum=faxnumdao.findFxqNum("101"); //更新导出文件的序号
faxnum.setNums(faxnum.getNums()+1);
faxnumdao.updateFxqNum(faxnum);
return "success";
}catch(Exception e ){
e.printStackTrace();
}
return returnvalue;
}
/*public int formatXMLFile(String filename){
int returnValue = 1;
try{
SAXReader saxreader = new SAXReader();
Document document = saxreader.read(new File(filename));
XMLWriter output = null;
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("GBK");
output = new XMLWriter(new FileWriter(new File(filename)),format);
output.write(document);
output.close();
returnValue = 1;
}catch(Exception e){
e.printStackTrace();
}
return returnValue;
}*/
/*public static void main(String[] args) {
CreateXml createXml = new CreateXml();
OutputStream os = null;
System.out.println(createXml.createDaeXMLFile(os));
//System.out.println(createXml.formatXMLFile("c:/xmltest.xml")); }*/}