Рассмотрите этот сценарий: у меня есть XML-файл с именем person.xml со следующими данными.Динамическое создание классов Java из XML-документа
<person>
<name>MrFoo</name>
<age>28</age>
</person>
Если я хочу читать этот XML в объект Java, я бы создать компонент Java под названием PersonBean (с геттеры/сеттеры для атрибутов), как:
class Person{
String name;
int age;
}
И я мог бы использовать любые API для чтения XML и заполнения Java Bean.
Но реальный вопрос заключается в следующем: предположим, что если структура XML-файла изменится, то есть, если в XML-файл добавлен новый атрибут «email», тогда мне нужно также изменить Java Bean, чтобы добавить новый атрибут , Но я хочу избежать изменения кода Java, даже если структура XML изменится.
Итак, что я пытаюсь сделать, это, я создаю другой файл XML под названием PersonStructure.xml с содержанием, как:
<class name="Person">
<attributes>
<attribute>
<name>personName</name>
<type>java.lang.String</type>
</attribute>
... and it goes like this...
</attribute>
</class>
Можно ли прочитать файл PersonStructure.XML и конвертировать это в файл класса Person.Java? Подход, который я пытаюсь сделать, правильный или есть другой способ сделать то же самое?
один второстепенный вопрос, что бы ваш код java сделал ваш новый измененный объект? Вам не нужно будет адаптировать свой бизнес-код, чтобы использовать новую версию боба? –
Правильно ли указано название вашего вопроса? Похоже, вы хотите создавать Java-объекты, а не классы Java. – skaffman
Я хочу создать структуру класса Java из файла XML. :) – Veera