package com.brilliance; import com.prowidesoftware.swift.model.mt.AbstractMT; import com.prowidesoftware.swift.model.mt1xx.MT103; import com.prowidesoftware.swift.model.mx.BusinessAppHdrV02; import com.prowidesoftware.swift.model.mx.MxPacs00800108; import com.prowidesoftware.swift.model.mx.dic.BranchAndFinancialInstitutionIdentification6; import com.prowidesoftware.swift.model.mx.dic.FinancialInstitutionIdentification18; import com.prowidesoftware.swift.model.mx.dic.Party44Choice; import org.apache.commons.io.FileUtils; import org.junit.Test; import javax.xml.bind.JAXBContext; import javax.xml.bind.Marshaller; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; public class JavaBean2XmlTest { @Test public void javaBean2XmlTest() throws Exception { JAXBContext context = JAXBContext.newInstance(MxPacs00800108._classes); // 获取上下文对象 Marshaller marshaller = context.createMarshaller(); // 根据上下文获取marshaller对象 marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8"); // 设置编码字符集 marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); // 格式化XML输出,有分行和缩进 MxPacs00800108 mxPacs00800108=new MxPacs00800108(); BusinessAppHdrV02 businessAppHdrV02=new BusinessAppHdrV02(); Party44Choice party44Choice=new Party44Choice(); BranchAndFinancialInstitutionIdentification6 fiId=new BranchAndFinancialInstitutionIdentification6(); FinancialInstitutionIdentification18 finInstnId=new FinancialInstitutionIdentification18(); finInstnId.setBICFI("NCBKCNSHXXX"); fiId.setFinInstnId(finInstnId); party44Choice.setFIId(fiId); businessAppHdrV02.setFr(party44Choice); mxPacs00800108.setAppHdr(businessAppHdrV02); System.out.println(mxPacs00800108.getAppHdr().xml()); marshaller.marshal(mxPacs00800108,System.out); // 打印到控制台 ByteArrayOutputStream baos = new ByteArrayOutputStream(); marshaller.marshal(mxPacs00800108, baos); String xmlObj = new String(baos.toByteArray()); // 生成XML字符串 // System.out.println(xmlObj); } @Test public void test(){ /* ClearingSystemMemberCode[] values = ClearingSystemMemberCode.values(); for (ClearingSystemMemberCode tmpCode : values) { System.out.println(tmpCode.value()); System.out.println(tmpCode.desc()); break; }*/ File file = FileUtils.toFile(Mx2MtTest.class.getResource("/swiftTxt/MT103_gcy.txt")); try { AbstractMT abstractMT=AbstractMT.parse(file); MT103 mt103= (MT103) abstractMT; System.out.println(abstractMT.getMessageType()); //System.out.println(abstractMT.getField50K().getName()); } catch (IOException e) { e.printStackTrace(); } } }