【发布时间】:2012-03-27 14:58:52
【问题描述】:
我对 Java 比较陌生,如果能提供任何帮助,我将不胜感激!
我有一个包含以下产品的 XML 文件:
<product>
<title>Product Title</title>
<colour>Red</colour>
</product>
我有一个这样的 JPA 实体:
@Entity
public Product extends Model {
public String title;
public String colour;
}
我可以愉快地将 XML 解析为我的 JPA 对象,如下所示:
public void parseElement(String elementName, String elementValue) {
if (elementName == "title") {
product.title = elementValue;
}
else if (elementName == "colour") {
product.colour = elementValue;
}
}
但是问题是每个产品有超过 50 个字段,而不仅仅是两个。我可以写一个超过 50 个子句的 if-else 语句,但我认为值得先在这里检查一下更好的替代方案!
由于 XML 元素名称直接匹配 Product 类中的属性名称,我认为这样的内容会很完美:
public void parseElement(String elementName, String elementValue) {
product[elementName] = elementValue;
}
但 Java 不喜欢这种表示法。我还能做些什么来达到类似的结果,还是我必须接受它并编写一个综合的 if-else 语句?
任何帮助将不胜感激。
干杯!
【问题讨论】:
-
接受的答案是当时解决问题的好方法。几个月后,请求进行了一大堆更改,因此值得花时间尝试建议的库,它们很棒 - 感谢您的建议。我现在正在移植到 XStream。干杯!
标签: java hibernate jpa playframework