在C#中将.ddd文件读取到XML

时间:2018-02-09 11:14:19

标签: c# xml

我正在使用这个(非常有用的)C#库 https://github.com/jugglingcats/tachograph-reader 来解析.ddd文件。

问题是,对于我分析由库生成的xml的更多.ddd文件,显示节点“DataBufferIsWrapperd”设置为true。并且xml文件不包含ddd文件的所有驱动程序活动。

如果所有活动都存在,则标签“DataBufferIsWrapperd”设置为false。

有什么问题?为什么要在xml文件中剪切数据?

1 个答案:

答案 0 :(得分:0)

我怀疑原因很简单。

如果你能想象一个.ddd(DriverCard下载)文件包含什么是有效的驱动程序活动数组。

所以它看起来像:

Index    TimeStamp          Activity
0        2018-01-07 04:00   DRIVE
1        2018-01-07 04:30   REST
2        2018-01-07 04:45   WORK
...
...

当卡片是新的时,数组会逐个填充,以便最新的条目位于index =(活动计数-1)。例如如果有10个活动,那么最新的是存储在卡上的活动数组中的索引9。

一旦卡片被使用了很长一段时间,行车记录仪将包裹活动阵列,原因很简单,因为司机卡的存储空间非常有限(在数千个活动中),这意味着activity数组的时间戳晚于后面的索引。

Index    TimeStamp          Activity
0        2018-09-01 06:11   DRIVE
1        2018-01-07 04:00   DRIVE
2        2018-01-07 04:30   REST
3        2018-01-07 04:45   WORK
...
...

处理这个包装数据非常棘手,我知道因为我自己编写了一个.DDD解析器。我相信您使用的库可能无法正确处理包装数据,这就是您只看到一些活动的原因。

它的实际工作方式稍微复杂一些,解析这些数据的方法有很多种。有效地包含数据的驱动程序卡可能会暴露库的问题。

如果您可以看到哪些活动缺失,早期或晚期,您可能能够更多地了解该问题。