如何将XML源中格式错误的DateTime转换为有效的DateTime

如何将XML源中格式错误的DateTime转换为有效的DateTime,xml,datetime,malformed,Xml,Datetime,Malformed,我的XML源数据包含格式错误的日期时间数据,如下所示: <ord_dt>9/12/2011 11:56:12 AM</ord_dt> 2011年9月12日上午11:56:12 我需要将XML导入Excel,并让Excel自动将其识别为日期。我不能在Excel中添加任何公式或数据转换,也不能让用户应用格式等 我尝试创建一个XML模式(.xsd),将元素类型指定为dateTime,并将其添加到Excel工作簿中。.xsd的相关部分内容如下: <xs:element

我的XML源数据包含格式错误的日期时间数据,如下所示:

<ord_dt>9/12/2011 11:56:12 AM</ord_dt>
2011年9月12日上午11:56:12
我需要将XML导入Excel,并让Excel自动将其识别为日期。我不能在Excel中添加任何公式或数据转换,也不能让用户应用格式等

我尝试创建一个XML模式(.xsd),将元素类型指定为dateTime,并将其添加到Excel工作簿中。.xsd的相关部分内容如下:

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

Excel仍然以文本形式导入源数据——我猜这是因为源中的dateTime格式既不符合所需的XML标准,也不符合Excel的默认格式

我知道XML的日期时间格式应该类似于“2002-05-30T09:00:00”,但源数据是由属于客户机的遗留应用程序生成的,我无法让他们更改它


有没有办法定义我的模式,以便在将日期时间导入Excel时将其转换为正确的格式?

我同意@pst,在导入之前使用XSLT进行XML转换可以在给定条件下解决此问题…

不能先通过XML转换器(XSLT或其他)运行它?从技术上讲,这不会违反任何列出的限制;-)我同意,在导入之前以某种方式清理数据。感谢您的回答和使用XSLT的建议。由于没有XML或XSLT方面的实际经验,我不知道如何使用XSLT来实现这一点。如有任何建议/建议,将不胜感激。