python ar_python解析arxml--Apple的学习笔记

一,目标:

汽车行业Autosar用developer工具会生成RTE接口,RTE解析中的信息,特别是data element无法导出查看,只能连接dangle打开developer工程才能看。我觉得不方便。

所以靠自己解析arxml则可以随时阅读各种信息。

二,调研:

我要怎样才能完成我自己目标,自己解析arxml呢?先由简单的xml解析开始,昨天已经自学了python3.7自带的xml包的ET模块,以及lxml这个第三方包(主要是xpath可以直接定位比较好用)

还了解了xsd是xml的模板框架文件。可以用来验证xml,其实也可以用xsd来生成xml(这个目前对我来说有难度,我的重点还是在解析xml不是生成xml)

在了解xsd的过程中发现了一个很好的第三方包generateDS。他可以通过xsd来生成xml解析的自动api,然后基于这些api可以做二次开发。

三,立项

当然我自己尝试了用lxml和xml.etree模块解析xml,都可以用,但是要求对xml结果很熟悉,而且每次若需求不同要求解析的的内容不同,则会带来代码重写,所以不方便。于是我就将方案定为用generateDS产生的api进行二次开发。

结果我做成功了。并且还能轻松的解析autosar developer中SWC模块的arxml。同时也对xml格式以及如何阅读xml和xsd有了更深入的了解。

四,我的源码

设计思路是先由一份swc.arxml生成了一份xsd文件,然后由xsd文件通过generateDS生成了api后进行二次开发,生成了port/interface等信息表。然后对PortInterfaces.arxml也进行了解析

你可能感兴趣的:(python,ar)