当前位置: 首页 > 知识库问答 >
问题:

jaxb XML封送处理需要以不同的格式设置日期

邹玄裳
2023-03-14

在从jax rs Web服务返回XML时,我们需要以不同的格式设置日期字段。

前任。

Class Dates {
    Date date1; //in xml this date must be in format dd-mon-yyyy
    Date date2; // in xml this date must be in format dd-mm-yyyy hh:ss sss
} 

我们尝试了XMLAdapter,但无法确定它是用于字段date1还是date2

请告知。如果有任何其他过滤器或事件我可以使用

共有3个答案

姜嘉良
2023-03-14

您可以创建一个扩展java.util.Date的新类,就像一个包装器:

public class CustomDate extends Date {

    public CustomDate() {
        super();
    } 

} 

date2声明为CustomDate,这样就可以正确解析这两个日期。

否则,将date2声明为Timestamp对象,并为这两种类型创建两个不同的适配器。

要从Date对象开始构造它:

Date d2 = new Date();
Timestamp t2 = new Timestamp(d2.getTime());
井礼骞
2023-03-14

我们尝试了XMLAdapter,但无法确定它是用于字段date1还是date2

一个XmlAdapter是正确的方法,您只需要一个您想要实现的格式。

@XmlAccessorType(XmlAccessType.FIELD)
class Dates {
    @XmlJavaTypeAdapter(MyDateAdapter.class)
    Date date1; //in xml this date must be in format dd-mon-yyyy

    @XmlJavaTypeAdapter(MyDateTimeAdapter.class)
    Date date2; // in xml this date must be in format dd-mm-yyyy hh:ss sss
} 

如果您是从XML模式生成这些类,请参阅下面链接的我的答案:

  • 对需要带模式的整数的元素使用JAXB生成的类
谷梁襦宗
2023-03-14

你可以使用不同的xsd类型来进行约会。第一次使用

<xs:element name="mySimpleDate" type="xs:date"/>

第二次使用

<xs:element name="myDatetime" type="xs:dateTime"/>

在你的xsd中。

 类似资料:
  • 我是Groovy的新手。我的数据库中有以下日期: (同上无空格)

  • 问题内容: 我正在尝试使用apache poi java创建一个空的excel模板。我需要添加一个规则- 当列号为。填充3,然后需要以某种颜色突出显示从7到12的列(作为用户的强制性指示)。 我可以在下面的代码中找到在同一单元格上满足条件时为单元格着色的代码。但是我想在当前单元格满足条件时为不同的单元格上色/格式化。 但是我想要的是当满足rule1时,然后为另一个单元格区域着色。 poi可能出现这

  • 但我想要的是当规则1满足时,然后给不同的单元格区域着色。 在poi中这可能吗?怎么可能?

  • 你能帮我在jrxml中设置或更改哪些属性以获得相同的PDF输出吗?

  • 我从open API中获取的日期是。我想以以下方式格式化它。下面是我尝试的方法: 这将抛出一个错误,说明: 请注意,如果我从open api中提取的数据是,那么这个方法可以正常工作,并返回 请建议和劝告。

  • 目前我们看到的输入文件都只包含一种语言,但在实际应用中我们会遇到有些包含多种语言的常用文件格式。例如,Java的文档注释,XML文件等。这些环绕着模板表达式的文本需要不同的处理方式,它们被称为孤岛语言。 ANTLR有提供一个称之为“词法模型”的词法分析器特性,它让我们可以很容易地处理包含混合格式的文件。基本思路是:当词法分析器看到特殊的哨兵字符序列时,让它在模式之间来回切换。 XML是一个很好例子