我有一个如下所示的消息定义文件
struct1
{
field="name" type="string" ignore="false";
field="id" type="int" enums=" 0="val1" 1="val2" ";
}
struct2
{
field = "object" type="struct1";
...
}
我如何将其解析为键为“struct1、struct2”的字典,值应该是一个字典列表,每个对应于各自的行号,以便我可以执行以下操作
dict['struct1'][0]['type'] // Would return 'string'
dict['struct1'][1]['type'] // Would return 'int'
dict['struct1'][1]['enums']['0'] // Would return 'val1'
dict['struct2'][0]['type'] // Would return 'struct1'
等等..
此外,我可以更改定义文件的格式,如果您对修改定义文件格式以使其更易于解析有任何建议,请告诉我。
谢谢
请您参考如下方法:
我可以推荐 YAML ?恕我直言,语法对于数据输入更具可读性,然后您不必编写和维护解析器。避开 XML——它适合标记文本,但不适合数据输入,因为文本不是人类可读的,到处都是重复的标签。
