【问题标题】:How to convert malformed DateTime in XML source into valid DateTime如何将 XML 源中格式错误的 DateTime 转换为有效的 DateTime
【发布时间】:2011-11-30 01:15:54
【问题描述】:

我的 XML 源数据包含错误格式的 DateTime 数据,如下所示:

<ord_dt>9/12/2011 11:56:12 AM</ord_dt>

我需要将 XML 导入 Excel,并让 Excel 自动将其识别为日期。我无法在 Excel 中添加任何公式或数据转换,也无法让用户应用格式等。

我尝试创建一个将元素类型指定为 dateTime 的 XML 架构 (.xsd),并将其添加到 Excel 工作簿中。 .xsd 的相关部分是这样写的:

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

Excel 仍然将源数据作为文本导入——我猜是因为源中的 dateTime 格式不遵循所需的 XML 标准,也不是 Excel 的默认格式。

我知道 XML 的 dateTime 格式应该类似于“2002-05-30T09:00:00”,但源数据是由属于客户端的旧应用程序生成的,我无法让它们更改它。

有什么方法可以定义我的架构,以便在将 dateTime 导入 Excel 时将其转换为正确的格式?

【问题讨论】:

  • 不能先通过 XML 转换器(XSLT 或其他方式)运行它吗?从技术上讲,这不会违反任何列出的限制;-)
  • 我同意,在导入之前以某种方式清理数据。

标签: xml datetime malformed


【解决方案1】:

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

【讨论】:

  • 感谢您的回答和使用 XSLT 的建议。如果没有任何实际使用 XML 或 XSLT 的经验,我不知道如何使用 XSLT 来完成此任务。任何建议/指针将不胜感激。
猜你喜欢
  • 2019-12-26
  • 2016-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-17
  • 1970-01-01
相关资源
最近更新 更多