加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

从XML文档动态生成Java类

发布时间:2020-12-16 23:22:29 所属栏目:百科 来源:网络整理
导读:考虑这种情况:我有一个名为person.xml的 XML文件,其中包含以下数据. person nameMrFoo/name age28/age/person 如果我想将这个XML读入Java对象,我将创建一个名为PersonBean的Java bean(使用属性的getter / setter): class Person{ String name; int age;}
考虑这种情况:我有一个名为person.xml的 XML文件,其中包含以下数据.

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

如果我想将这个XML读入Java对象,我将创建一个名为PersonBean的Java bean(使用属性的getter / setter):

class Person{
    String name;
    int age;
}

我可以使用任何API来读取XML并填充Java Bean.

但这里真正的问题是,假设XML文件的结构发生了变化,即如果将新属性“email”添加到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.它可以从Schema定义生成一组Java类.您的PersonStructure.xml文件看起来有点像具有不同语法的XSD,因此您可以重用JAXB.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读