动态寻址类变量

时间:2010-12-11 23:25:03

标签: java xml class variables dynamic

我不太确定我能做到这一点,但我想。我正在读取一个XML文件,在一些节点上有很多属性,我最终存储在一个对象内部的变量中。目前,我通过节点解析,获取属性名称,然后通过非常大的if / then / elses来将其存储在正确的对象变量中。所有这些都很好。

我希望能够做的更动态,有一个映射机制,将属性名称映射到对象中的变量名称。
因此,例如,如果我有一个节点,我可以将数据映射到我的对象中的object.city和object.addr,而不必对我捕获的每个属性进行硬编码if / then。我有几个节点/对象我这样做,虽然它不经常改变,我认为像我描述的那样映射它会更清晰。

在Java中甚至可以做到这样吗?

非常感谢。

2 个答案:

答案 0 :(得分:2)

是的,您可以使用Reflection API访问班级的字段和方法。但如果您的目标只是阅读XML文件,请不要重新发明轮子 - 只需使用现有的库,例如JAXB

答案 1 :(得分:1)

有许多POJO-XML映射实用程序。 Apache的XML bean和Sun的JAXB是两个常见的。

这是一个XMLBeans教程:http://xmlbeans.apache.org/documentation/tutorial_getstarted.html