如何将XML文件转换为二进制文件?

时间:2011-06-16 09:46:03

标签: c# xml

如何将XML转换为具有某种结构的二进制文件? 我想使用XSLT,但是这个技术不能用于将xml转换为二进制文件。

这个问题可以接受哪些技术?

4 个答案:

答案 0 :(得分:3)

答案 1 :(得分:0)

使用C#xml读取(使用 LINQ to xml 以便于使用)和BinaryWriter(使用正确的格式)可以完成这项工作。虽然

可能很难让输出格式正确

答案 2 :(得分:0)

这在很大程度上取决于二进制文件的完全; p Xslt 在这里有多大帮助;我将使用专用的c#方法来理解结构(如果它特定于一个任务),或者如果需要通用方法(即为了满足多个scernario),那么一个适当的序列化库,以匹配您的预期格式。

您应该准备好花大量时间处理流,缓冲区和编码器。

如果您只想序列化,而不关心格式 - 那么请使用预先封装的序列化器;我建议使用protobuf-net,因为它可以很好地与XmlSerializer一起使用,允许你从xml读取并写为二进制,或从二进制读取并写为xml等。同样,因为它(默认情况下)基于树它与xml(也是基于树)直接相关。

答案 3 :(得分:0)

如果您的数据不是xml序列化的,那么我会使用xml阅读器来读取数据,创建一个强类型类来表示您的数据,然后将其序列化为二进制,所以当您阅读它时,您所要做的就是反序列化您的二进制文件并将其强制转换回您的原始强类型类。