2010-10-15 109 views
1

我正在处理一个应用程序,其中我将在HashMap中接收数据。 hasmap中的每个“值”都需要基于XML Key表进行格式化。对于示例 -使用XML格式化日期

假设HashMap具有以下值 -

TxnDate = "15-Oct-2010" 
cardType = "MC" 

XML表是一样的东西这个 -

<Param name="TxnDate" input="dd-Mon-yyyy" output="dd/mm/yyyy" /> 
<Param name="cardType" input="MC" output="MASTERCARD" /> 

的一切我能做的直接映射,但是对于日期,我需要格式化数据。 我很迷惑我应该遵循哪种方法?

任何人都可以引导我以正确的方向...我正在用JAVA编写应用程序。

+0

我想你需要'Formatter' [链接](http://download.oracle.com/javase/1.5.0/docs/api/java/util /Formatter.html)或'String.format' – 2010-10-15 15:19:39

回答

0

XML在运行时是否更改?如果它相当静态,则可以使用由name属性键入的输入和输出映射,并使用XML配置数据填充这些映射。查找输入/输出格式将非常简单。

请注意,这只适用于独特的name属性。对于cardType我怀疑这不会是这种情况。

2

你将不得不写一个转换器从一组日期类型到另一个。这可以在读取XML进行进一步处理的代码中完成。下面的代码日期的一种形式转化为另一种

public static void main(String[] args) throws ParseException 
    { 
     String date = "15-Oct-2010"; 
     SimpleDateFormat sdf1 = new SimpleDateFormat("dd-MMM-yyyy"); 
     SimpleDateFormat sdf2 = new SimpleDateFormat("dd/MM/yyyy"); 
     System.out.println(sdf2.format(sdf1.parse(date))); 
    }