Создать простую базу XML-документов Java
Мне нужна помощь Java.
У меня есть такой класс
public class Thing {
private String name;
private int price;
public Thing(String name, int price) {
this.name = name;
this.price = price;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
}
И мой главный выглядит так
public class Main {
public static void main(String[] args) {
Thing Bowl = new Thing("Bowl", 20);
} }
Я хотел бы создать простую базу данных XML-документов. Так что я могу добавлять разные вещи в свою базу данных. Как я могу реализовать такую базу данных в моей системе?
2 ответа
Неправильно называть то, что вы говорите о базе данных. Вы просто хотите сохранить класс Java в виде файла XML. Джексон - хорошая библиотека, которая позволяет кодировать / декодировать как JSON, так и XML и использовать ее, можно сделать так, как указано в POJO:
ObjectMapper xmlMapper = new XmlMapper();
List<Thing> things = new ArrayList<>();
things.add(bowl);
String xmlData = xmlMapper.writeValueAsString(things);
List<Thing> thingsFromXml = xmlMapper.readValue(xmlData, new TypeReference<List<Thing>>(){});
Хотя вопрос очень широкий, я сделаю все возможное, чтобы помочь вам.
Всеобъемлющая система для XML состоит из различных подсистем. Прежде всего, вам понадобится способ разбора XML-документов. Есть много библиотек с открытым исходным кодом, которые вы можете использовать. Даже если вы настаиваете на том, чтобы написать его с нуля, ссылаться на работу, выполненную другими, всегда полезно.
Смотрите это: Какая библиотека лучше всего подходит для разбора XML в Java?
Затем, когда у вас есть система, в которой вы сможете анализировать документы, вам понадобится способ организовать проанализированные данные. Способ приблизиться к этому зависит от практического использования системы. Например, если вы используете XML в качестве стандартного формата для загрузки данных в игре и, таким образом, имеете дело со многими различными типами данных, такими как предметы, объекты, местоположения и так далее. Вам понадобится динамический способ перезагрузки данных, в этом случае хорошо подойдет шаблон проектирования фабрики.
Смотрите это: https://www.tutorialspoint.com/design_pattern/factory_pattern.htm