c# - 以xml格式从嵌入式设备输出数据是否智能?

标签 c# xml linq embedded

我们公司生产许多嵌入式设备,这些设备通过我用 C#.net 编写的应用程序与 PC 通信。我一直在考虑改进数据传输的不同方法,以便 PC 应用程序可以更轻松地与设备当前状态(在某些情况下不断变化)同步。

我一直在考虑一种方法,其中设备将其描述和状态消息格式化为 xml 格式的消息,然后再通过串行端口、USB、以太网套接字等发送它们。我认为它可能使过程更简单地将所有这些数据放入我的 C# 类中。

另一种方法是主机应用程序发送 GETSTATUS 之类的命令,设备以字节数组响应,每个字节数组代表不同的属性、传感器读数等。

我对 xml 没有太多经验,但从我所看到的可以使用 LINQ to XML 完成的情况来看,这似乎是个好主意。你们有什么感想?这是经常做的事情吗?这是一个可怕的想法吗?!?

最佳答案

首先,无论采用哪种方式,请确保返回的数据嵌入了版本号,以便您可以修改数据结构。

两者都是一种选择吗?说真的,总是有一些情况下以更易读的形式发送数据是更可取的,而其他情况下更密集的表示是最好的(这些比大多数人想象的要少,但我不想为此发起一场宗教 war )。人们会热情地为两者争论不休,因为他们正在针对不同的事物进行优化。提供这两种选择将使两个阵营都满意。

一个漂亮、清晰的 XML 状态绝对可以降低那些开始使用您的设备的人的阈值。您还可以构建一个 C# 对象,该对象可以从返回的二进制数据中反序列化。

关于c# - 以xml格式从嵌入式设备输出数据是否智能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4233749/

相关文章:

c# - 无法加载文件或程序集(BadImageFormatException和FileNotFoundException)

c# - 在序列化时调用 GetObjectData

c# - 在 C# 中使用 Newtonsoft.Json.Linq 查询 JSON 操作日期字符串

c# - C# 字典中的 LINQ 选择

c# - 按运行时已知的多个键分组

c# - 将实现哪个接口(interface)?

c# - 如何为我的后台服务编写单元测试?

c# - 读取 DataTable 中的 XML 数据和架构

java - XML/Xpath -- getTextContent() -- 我希望将每个属性作为字符串获取

c# - C# 中 XML 元素的元素/属性注释