前端之家收集整理的这篇文章主要介绍了使用反射(而不是JAXB)将XML转换为现有Java Bean,前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图不使用JAXB,因为我有一个预定义的bean,当给出XML时,我必须得到适当的类和setter来填充bean.
XML只是一个数据源,我需要提取bean所需的任何数据.
我已经尝试并成功完成了不那么复杂的XML.但是没有像下面那样复杂的.
<Response> <Result> <Result_Flag>2</Result_Flag> <Result_Code>1000</Result_Code> <Result_Message>Failure</Result_Message> <Result_Description>Just for fun2</Result_Description> </Result> <Remits> <OR> <I_Number>40002829</I_Number> <OrderNumber>agdfsg</OrderNumber> <Agents> <number>y</number> <Agent> <name>a</name> <id>1</id> <phone> <number>9424648525</number> <network>AIRTEL1</network> </phone> <phone> <number>9424648525</number> <network>AIRTEL1</network> </phone> </Agent> <Agent> ....similar data... </Agent> </Agents> </OR> <OR> <I_Number>40004213</I_Number> <OrderNumber>fgrtey</OrderNumber> <Agents> <number>z</number> <Agent> <name>c</name> <id>2</id> <phone> <number>9424645555</number> <network>AIRCEL1</network> </phone> <phone> <number>9424645555</number> <network>AIRCEL2</network> </phone> <I_Number>40002829</I_Number> </Agent> <Agent> ....similar data... </Agent> </Agents> </OR> </Remits> </Response>
在上面的XML数组元素是OR,Agent,phone
这是相应的豆类……
public class SampleBean { private String responseCode; private String responseMessage; private ArrayList<OR> records; private String txnId; } public class OR{ private String txnId; private String orderNumber; private String numberOfAgents; private ArrayList<Agent> otherAgents; } public class Agent { private String agentName; private String agentId; private ArrayList<Phone> agentPhoneDetails; } public class Phone { private String agentPhoneNumber; private String agentPhoneNetwork; }
我尝试过使用反射并且无法实现.希望有人试过这个…如果你知道任何这样的实现,请帮忙.
注意:不使用JAXB
http://x-stream.github.io/tutorial.html这里有一个教程.
我用于更复杂的结构,工作正常.
以上是前端之家为你收集整理的使用反射(而不是JAXB)将XML转换为现有Java Bean全部内容,希望文章能够帮你解决使用反射(而不是JAXB)将XML转换为现有Java Bean所遇到的程序开发问题。
如果觉得前端之家网站内容还不错,欢迎将前端之家网站推荐给前端开发程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。