我正在寻找一种有效的方法来处理性能因素(RAM 和 CPU)严重受限的嵌入式设备上的 xml 数据。XML 的优点是可以通过基于计算机的软件工具轻松处理。一旦数据被建模并加载到嵌入式设备,它就保持静态。
我认为二进制 XML 表示是要走的路。但是我应该遵循哪个转换标准,或者我应该创造一些全新的东西?
要求:
- 清除编码规则,从而获得确定性二进制格式作为结果
- 对二进制数据的有效随机访问(下一个元素)
- 通过 C 数据结构轻松访问
示例数据:
<Employee>
<Name>
<GivenName>Gaston</GivenName>
<FamilyName>Lagaffe<FamilyName>
</Name>
<innovation>
<description>Cosmo-coucou : horloge murale imitant la cabine Apollo </description>
<drawing>604</drawing>
</innovation>
<innovation>
<description>Parapluie simulateur de beau temps </description>
<drawing>648</drawing>
</innovation>
最后,使用C轻松处理这种二进制数据的能力,例如将数据提取到结构等中是最重要的要求。
struct Employee {
name *name;
innovation *inovations;
};
struct name {
char *GivenName;
char *FamilyName;
};
struct innovation {
char *Description;
int drawing;
};
asn1c 可以帮我解决这个问题吗?
使用 ASN.1 编码规则可以完成这项工作吗?
您对嵌入式设备上的二进制 XML 数据有何经验?