具有xml指定数据结构的二进制解码器

时间:2013-02-27 11:43:01

标签: c# xml binaryfiles

我想构建C#二进制解码器。我有XML文件,它描述了二进制文件的数据结构。

下一步是基于该XML动态生成数据结构(在代码中)。 你们/女孩对我有任何评论,链接,代码等吗?

我知道这是一般性的问题,但我只是想从哪里开始,我不知道从哪里开始。

编辑:

抱歉需要删除代码......

BR

2 个答案:

答案 0 :(得分:1)

由于您希望动态创建结构(而不​​是基于XML定义静态构建类),我想您需要一个可以查询的通用数据结构。这看起来完全取决于您所描述的数据结构类型。是记录和字段吗?层次结构中是否有多种记录类型?如果没有层次结构,则可以为每个字段使用键值对字典。如果存在层次结构,我认为可导航的树将覆盖大多数场景。您可以使用XML DOM,但我认为这不是最干净的解决方案,我更喜欢使用通用树结构。没有内置的(见Tree data structure in C#),但用泛型创建一个很容易。

修改

以上假设您要动态创建使用的结构。 如果你想在代码中动态地创建一个静态使用的结构(例如你希望能够编写像myDataStrucureThatWasDefinedInXml.MyProperty1这样的东西),那么看看CodeDom。

在考虑了更多关于它之后,它实际上取决于您在反序列化二进制数据后想要做什么。您可能还想查看Expando对象和表达式树。

答案 1 :(得分:0)

要读取和写入XML文档的内容,您可以使用C#中提供的XmlDocument类。

以下是一些可以帮助您的链接: