1.) У меня есть файл XSD (я не контролирую его), который я преобразовал в объектную модель с помощью JAXB
2.) У меня есть извлечение базы данных в формате XML. Имена тегов элемента XML являются строго именами полей таблицы
3.) Я сопоставил элементы xml с классом Java с помощью аннотаций.
Вопрос. Есть ли способ сохранить имена элементов в файле XSD и просто извлечь значение элементов xml.
JAXB аннотированный класс:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Item", propOrder = {
"code",
"name",
"price"
})
@XmlRootElement(name="inventory")
public class Item {
@XmlElement(name="catalog_num", required = true)
protected String code;
@XmlElement(name="catalog_descrip", required = true)
protected String name;
@XmlElement(name="prod_price")
protected double price;
public String getCode() {
return code;
}
//etc
Выдержка из файла базы данных xml:
<?xml version="1.0"?>
<inventory>
<catalog_num>I001</catalog_num>
<catalog_descrip>Descriptive Name of Product</catalog_descrip>
<prod_price>11200</prod_price>
</inventory>
Результат, который мне нужно получить после маршалинга вышеуказанного XML-файла:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Item>
<code>I001</code>
<name>Descriptive Name of Product</name>
<price>11200.0</price>
</Item>
В приведенном выше коде я попытался аннотировать методы вместо полей, но я получаю тот же результат. Я просто хочу, чтобы значение извлекалось из элементов xml, но не меняло имена элементов.
Надеюсь, у меня есть смысл.