Создать простую базу 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

Другие вопросы по тегам