gpt4 book ai didi

java - 从 XML 文档动态生成 Java 类

转载 作者:数据小太阳 更新时间:2023-10-29 02:01:00 26 4
gpt4 key购买 nike

考虑这种情况:我有一个名为 person.xml 的 XML 文件,其中包含以下数据。

<person>
<name>MrFoo</name>
<age>28</age>
</person>

如果我想将这个 XML 读入一个 Java 对象,我将创建一个名为 PersonBean 的 Java bean(属性具有 getters/setters),如下所示:

class Person{
String name;
int age;
}

而且我可以使用任何 API 来读取 XML 和填充 Java Bean。

但这里真正的问题是,假设如果 XML 文件的结构发生变化,即如果将新属性“电子邮件”添加到 XML 文件,那么我必须修改 Java Bean 以添加新属性。但是,即使 XML 结构发生变化,我也想避免更改 Java 代码。

因此,我正在尝试做的是,我正在创建另一个名为 PersonStructure.xml 的 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 类文件?我尝试做的方法是正确的还是有其他方法可以做到这一点?

最佳答案

虽然这不是您想要做的,但您应该看看 JAXB。它可以从模式定义生成一组 Java 类。您的 PersonStructure.xml 文件看起来有点像具有不同语法的 XSD,因此您可以重用 JAXB。

https://jaxb.dev.java.net/

关于java - 从 XML 文档动态生成 Java 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/838925/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com