微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从XML文档动态生成Java类

考虑这种情况:我有一个名为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/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。