package com.sy.bwAnalysis; import com.sy.bwAssist.Message; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.io.xml.DomDriver; import com.thoughtworks.xstream.io.xml.XmlFriendlyNameCoder; public class MessageAnalysis { public Message readTicketsXml(String str) { return getMessage(str); } static Message getMessage(String str) { XStream xstream = new XStream(new DomDriver("UTF-8", new XmlFriendlyNameCoder("_-", "_"))); xstream.processAnnotations(Message.class); //对xstream对象设置默认的安全防护 XStream.setupDefaultSecurity(xstream); //对xstream对象设置默认的安全防护时,允许设置类 xstream.allowTypes(new Class[]{Message.class}); return (Message) xstream.fromXML(str); } /* public static void main(String[] args) { Message msg = new MessageAnalysis().readTicketsXml("<MSG> \n" + " <META> \n" + " <SNDR>NXCD</SNDR> \n" + " <RCVR/> \n" + " <SEQN>20190423105931</SEQN> \n" + " <DDTM>20190423105931</DDTM> \n" + " <TYPE>CUST</TYPE> \n" + " <STYP>CDHZ</STYP> \n" + " </META> \n" + " <Manifest><Head><MessageID>CN_MT5202_1P0_460470678920X_20190423105611544</MessageID><FunctionCode>2</FunctionCode><MessageType>MT5202</MessageType><SenderID>EPORT</SenderID><ReceiverID>460470678920X_DXPENT0000019806</ReceiverID><SendTime>20190423105647834</SendTime><Version>1.0</Version></Head><Response><BorderTransportMeans><JourneyID>7L062/20190420</JourneyID><ID>7L062</ID></BorderTransportMeans><Consignment><TransportContractDocument><ID>50106370991</ID></TransportContractDocument><ResponseType><Code>01</Code><Text>35301 理货报告传输成功。比对结果为:理货正常。</Text></ResponseType></Consignment></Response></Manifest>\n" + " </MSG>"); RESMESSAGE resmessage = new ResMessageAnalysis().saveEntry(msg.getManifest()); System.out.println(resmessage); }*/ }