使用XML格式化日期

时间:2010-10-15 14:58:05

标签: java xml

我正在开发一个应用程序,我将在HashMap中接收数据。 hasmap中的每个“值”都需要基于XML Key表进行格式化。例如 -

假设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编写应用程序。

2 个答案:

答案 0 :(得分: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)));
    }

答案 1 :(得分:0)

XML是否在运行时发生变化?如果它相当静态,您可以使用name属性键入的输入和输出映射,并使用XML配置数据填充这些映射。查找输入/输出格式会很简单。

请注意,这仅适用于唯一的name属性。对于cardType,我怀疑情况并非如此。