如何按顺序解析XML文件

时间:2018-04-12 10:57:29

标签: python xml python-2.7 xml-parsing lxml

我有一个XML文件,它描述了我可以在UDP通道上交换的数据结构。例如:这是我的输入XML文件,描述了我的数据结构。

<ds>
 <uint32 name='a'/>
 <uint32 name='b'/>
 <string name='c'/>
 <int16 name='d'/>
 <uint32 name='e'/>
</ds>

解析此XML文件通常允许我生成以下哈希

   $VAR1 = {
      'uint32' => {
                  'e' => {},
                  'a' => {},
                  'b' => {}
                },
      'int16' => {
                 'name' => 'd'
               },
      'string' => {
                  'name' => 'c'
                }
    };

正如你所看到的,在解析之后我无法弄清楚字段的相对位置是什么&#39; e&#39;相对于数据结构的开始。

我想找出每个元素的偏移量。

我尝试搜索XML解析器,它允许我按顺序解析XML文件,类似于&#39; getnexttag()&#39;一种功能,但找不到任何功能。

以编程方式执行此操作的最佳方法是什么?如果不是python,那么哪种其他语言最适合做这项工作?

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

docs docs.python.org/2/library/xml.etree.elementtree.html终于为我工作了。 谢谢@kenstars