我有一个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,那么哪种其他语言最适合做这项工作?
答案 0 :(得分:1)
我认为lxml.etree.iterparse
可以在这里查看示例https://github.com/GoogleCloudPlatform/google-cloud-php/blob/master/Storage/src/Bucket.php#L216
答案 1 :(得分:0)