Я относительно новичок в 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?
Любая помощь будет принята с благодарностью.
Ура!