java - 动态寻址类变量

标签 java xml class variables dynamic

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

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

在 Java 中甚至可以实现类似的东西吗?

非常感谢。

最佳答案

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

关于java - 动态寻址类变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4419543/

相关文章:

java - 从 JPanel 读取 JFrame 大小

java - 如何将数据从recyclerview传递到新的activity

java - 当从 @Transactional 方法(Spring boot)返回对象时,为什么 Hibernate 没有完全解析我的对象?

c# - 不使用 XmlDocument.Loadxml() 函数将 XML 反序列化为 JSON

c++ 构造函数和初始化程序行为。这5个代码有什么区别?

java - 在GZIPWrapper中如何将if else替换为Optional.orElse?

C# - 将 XML 节点值设置为来自 StreamReader 结果的 Stings

C++:解析 XML 文件时出现问题(MXML 库)

c++ - Swift 中的类

java - 当文本和变量同时使用 System.out.println 时出现错误