0
我正在使用XStream轉換XML。使用XStream進行XML轉換:格式不能解析日期2016-02-04T18:01
我的XML如下所示。
<reportUnit>
<creationDate>2016-02-04T18:01</creationDate>
<description>Days Late Report</description>
<label>Days Late Report</label>
<permissionMask>2</permissionMask>
<updateDate>2014-10-31T19:45</updateDate>
</reportUnit>
用於轉換XML我的Java代碼就像
XStream xStream = new XStream();
xStream.alias("reportUnit", ReportUnit.class);
xStream.registerConverter(
new com.thoughtworks.xstream.converters.basic.DateConverter("yyyy-MM-dd HH:mm", new String[] {"dd/MM/yyyy HH:mm"},new GregorianCalendar().getTimeZone()){
public boolean canConvert(Class type) {
return type.equals(Date.class) || type.equals(Timestamp.class);
}
public String toString(Object obj) {
return new SimpleDateFormat("yyyy-MM-dd HH:mm").format((Date) obj);
}
});
xStream.fromXML(objectXml.replace("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>", BLANK));
上面的代碼工作的日期格式
<creationDate>2016-02-04 18:01</creationDate>
但不適合
<creationDate>2016-02-04T18:01</creationDate>
我我得到一個異常:無法解析日期2016-02-04T18:01
我利用現有的ThoughtWorks的在ISO8601DateConverter下面包
"com.thoughtworks.xstream.converters.extended.ISO8601DateConverter"
試圖但是這並沒有解決我的問題...
難道任何人都有同樣的問題,並知道如何解決這個問題。
試試這個格式:' 「YYYY-MM-dd'T'HH:MM」' –
@SashaSalauyou:waw..that很愚蠢的事情,我沒有嘗試....這就是答案。 ..我只是試着T ... Thanx答案...你搖滾! –