如何将数据库XML输出映射到JAXB派生的对象模型

时间:2011-07-19 02:38:27

标签: java xml jaxb unmarshalling

我正在请求链接到源/材料,这将帮助我解决以下问题(一个问题,因为我是Java / JAXB的新手,来自PHP背景)。

我提供了一个创建的复杂XSD&由一个组织维护。我使用JAXB 2.1创建了java对象模型。我需要将数据库字段映射到java / jaxb派生类。数据库字段/元素通过简单的XML输出呈现。 XML数据库记录输出的示例如下:

<PROBLEM>
<PID>262</ID>
<PROBLEM_DATE>14-DEC-10</PROBLEM_DATE>
<PROBLEM_TYPE>T</PROBLEM_TYPE>
<PROBLEM_CODE>244.9</PROBLEM_CODE>
</PROBLEM>

JAXB派生类的示例:

protected IvlTs problemDate;

public IvlTs getProblemDate() {
            return problemDate;
        }

public void setProblemDate(IvlTs value) {
            this.problemDate = value;
        }

如何将xml元素<PROBLEM_DATE>映射到problemDate?请告知可以帮助我入门的文章/教程。此外,XML数据库提取很大,有近500个字段/ xml元素,有没有办法自动化映射,或者这一切都必须手工完成?

1 个答案:

答案 0 :(得分:2)

您需要阅读JAXB annotations。对于此特定问题,您希望使用

注释getProblemDate()方法
@XmlElement(name="PROBLEM_DATE")

如果有一个共同的模式,比如problemDate - &gt; PROBLEM_DATE和一般fooBar - &gt; FOO_BAR,那么编写正则表达式查找/替换应该很容易得到你需要的东西。