1

我正在请求指向资源/材料的链接,这将帮助我解决以下问题(这是一个问题,因为我是 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>到问题日期?请提供可以帮助我入门的文章/教程。此外,XML 数据库提取很大,有近 500 个字段/xml 元素,有没有办法自动映射或必须全部手动完成?

4

1 回答 1

2

您需要阅读JAXB 注释。对于这个特定的问题,您希望使用注释 getProblemDate() 方法

@XmlElement(name="PROBLEM_DATE")

如果有一个常见的模式,比如problemDate -> PROBLEM_DATE 和一般的fooBar -> FOO_BAR,那么编写一个正则表达式查找/替换来获得你需要的东西应该很容易。

于 2011-07-19T03:52:15.653 回答