C 嵌入式设备的二进制XML表示与处理
我正在寻找一种在性能因素(RAM和CPU)非常有限的嵌入式设备上处理xml数据的有效方法。 XML的优点是它可以很容易地被基于计算机的软件工具处理。一旦数据建模并加载到嵌入式设备,它将保持静态 我认为二进制XML表示是一条出路。但我应该遵循哪种转换标准,或者我甚至应该创造一些全新的东西 要求:C 嵌入式设备的二进制XML表示与处理,c,xml,embedded,asn.1,C,Xml,Embedded,Asn.1,我正在寻找一种在性能因素(RAM和CPU)非常有限的嵌入式设备上处理xml数据的有效方法。 XML的优点是它可以很容易地被基于计算机的软件工具处理。一旦数据建模并加载到嵌入式设备,它将保持静态 我认为二进制XML表示是一条出路。但我应该遵循哪种转换标准,或者我甚至应该创造一些全新的东西 要求: 明确的编码规则,从而形成确定性的二进制格式 对二进制数据的有效随机访问(下一个元素) 通过C数据结构轻松访问 示例数据: <Employee> <Name> <G
- 明确的编码规则,从而形成确定性的二进制格式
- 对二进制数据的有效随机访问(下一个元素)
- 通过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>
你能帮我吗
使用ASN.1编码规则可以完成这项工作吗
您在嵌入式设备上使用二进制XML数据的经验如何?如果您的XML数据由XML模式描述,您可以使用基于X.694()的工具(如OSS Nokalva()提供的工具)自动将XML模式转换为ASN.1。然后,您可以使用ASN.1工具从生成的ASN.1模式生成C结构,然后用BER、DER或PER对消息进行编码/解码。
如果严格遵循此过程,还可以通过对数据应用ASN.1(E-XER)的扩展XML编码规则,对符合原始XML模式的XML数据进行编码和解码。请参阅:了解一些相关信息。还有和佩奇。
struct Employee {
name *name;
innovation *inovations;
};
struct name {
char *GivenName;
char *FamilyName;
};
struct innovation {
char *Description;
int drawing;
};