创建一个简单的XML文档数据库Java

时间:2018-03-22 19:49:15

标签: java xml database class document-based-database

我需要一些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 个答案:

答案 0 :(得分:0)

调用您正在谈论的数据库是不正确的。您只想将Java类保存为XML文件。 Jackson是一个很好的库,允许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>>(){});

答案 1 :(得分:0)

虽然问题很广泛,但我会尽力指导你。

XML的总体系统由各种子系统组成。首先,您需要一种解析XML文档的方法。您可以使用许多开源库。即使您坚持从头开始编写它,引用其他人所做的工作总是有用的。

看到这个: Which is the best library for XML parsing in java

然后,一旦你有一个可以解析文档的系统,你就需要一种方法来组织解析的数据。解决这个问题的方法取决于系统的实际应用。例如,如果您使用XML作为在游戏中加载数据的标准格式,从而处理许多不同类型的数据,例如项目,对象,位置等。您需要一种动态方式来重新加载数据,工厂设计模式在这个用例中可以很好地工作。

请参阅:https://www.tutorialspoint.com/design_pattern/factory_pattern.htm