我目前在尝试从 xml 文件中解组日期时遇到问题。
输入 XML 片段:
<request>
<head>
<title>Load data</title>
<startDate>20130806</startDate>
<startTime>20130807-055137</startTime>
</head>
<request>
startDate 和 startTime 元素在模式文件中分别定义为 xs:date 和 xs:dateTime。
使用 JAXB 解组 xml 文件后,我在我的 java 类的 startDate 标记中得到值,如下所示:
XMLGregorianCalendar xcal = request.getHead().getStartDate();
Date date = xcal.toGregorianCalendar().getTime();
System.out.println(date);
输出: Sun Jan 01 00:00:00 IST 20130806
我调试了我的代码,发现值 20130806 保存在 XMLGregorianCalendar 的 year 变量中。我不确定为什么会发生这种情况,但一个可能的原因可能是 XMLGregorianCalendar 需要日期为特定格式。如何解组 startDate 标记,以便我正确获取日期值,而无需编写一些适配器,也无需事先知道输入日期格式?