是否可以在Delphi TClientDataSet XML格式中包含日期/时间格式?

时间:2014-06-06 14:25:12

标签: xml delphi datetime formatting

我正在创建一些不相关的XML文件,每个文件都会在查看器中显示。查看器包含一个TClientDataSet,一个TDataSource和一个TDBGrid,我希望在代码中没有字段定义或声明,但是在使用XML数据时要读取它们。我首先使用在运行时在测试应用程序中创建的字段创建我的XML文件:

 ClientDataSet1.FieldDefs.Add('Date', ftDate);
 ClientDataSet1.FieldDefs.Add('Machine', ftString, 50);

等,然后使用:

写出数据
 ClientDataSet1.SaveToFile( 'test.xml', dfXML );

从现在开始,XML应该是唯一的字段信息。 XML的结构非常清晰,我已经能够根据自己的需要进行编辑。我现在将它加载到我的查看器中并使用XML中的模式来创建字段。我的问题涉及ftDate字段的显示,在英国显示为01/12/2008。检查XML输出我看到元数据是:

<?xml version="1.0" standalone="true"?>
-<DATAPACKET Version="2.0">
-<METADATA>
-<FIELDS>
<FIELD fieldtype="date" attrname="Date"/>
<FIELD fieldtype="string" attrname="Machine" WIDTH="50"/>

,典型的日期记录是:

-<ROWDATA>
<ROW Machine="Acer Iconia W510" Date="20130501"/>

理想情况下,我希望在DBGrid中显示“May 2013”​​或至少“2013年5月1日”。看来这是因为TClientDataSet在XML加载时获得了太多信息,所以可能包含一些其他数据来控制显示的格式。这可能吗?为了研究这个,我查看了许多TClientDataSet XML文件,特别是分组在:

下的演示XML文件
C:\Users\Public\Documents\RAD Studio\12.0\Samples\Data

虽然这些对于显示数据类型非常有用,但它们似乎都使用默认日期和时间。 谢谢你的任何指示。

0 个答案:

没有答案