我接收到socket流发来的一串XML字符串,就像这样的:<Transaction><Transaction_Header><TRSN>123423123</TRSN><TRID>S2103</TRID><BHID>0101</BHID><CHNL>1101</CHNL><RQDT>20080101</RQDT><RQTM>120504</RQTM><TRTL>00000007</TRTL><TTYN>00005</TTYN><AUTL>00000008</AUTL></Transaction_Header><Transaction_Body><request><TRAC>1100905090000170</TRAC><SLNM>EUR</SLNM><BYNM>USD</BYNM><CXFG>1</CXFG><BYAM>0</BYAM><SLAM>1000</SLAM><AKPC>0.8879</AKPC><SEQU>0</SEQU><TRTY>2</TRTY><RRDT>10</RRDT><FVDA>0</FVDA></request></Transaction_Body></Transaction>,我现在需要将这段XML解析出来,并且将每个节点的值写进一个Javabean里去。
     本来以为JAXB可以做到,但是JAXB只能处理被DTD约束的XML.我接收到的数据只是XML字符串,请问怎么处理?
     哪位大师能帮我?

解决方案 »

  1.   

    JDOM可以吗?好像没有DTD的要求
      

  2.   

    jdom或dom4j
    然后通过反射写到属性里去(也可以先用map保存后再处理)
      

  3.   


    很多东西xml的工具都可以处理你这样的要求哟。不过我这里给你推荐的是apache-commons-betwixt,这个是专门来做xml到bean,bean到xml的转换的,你需要做的只是告诉这个引擎你转换的rule而已。你可以访问http://commons.apache.org/betwixt/参看相关的文档和例子。