【发布时间】:2012-01-27 10:13:46
【问题描述】:
我有一个 XML 文件,它描述了我可以在 UDP 通道上交换的数据结构。 例如: 这是描述我的数据结构的输入 XML 文件。
<ds>
<uint32 name='a'/>
<uint32 name='b'/>
<string name='c'/>
<int16 name='d'/>
<uint32 name='e'/>
</ds>
使用 perl 的 XML 解析这个 XML 文件:简单,允许我生成以下哈希
$VAR1 = {
'uint32' => {
'e' => {},
'a' => {},
'b' => {}
},
'int16' => {
'name' => 'd'
},
'string' => {
'name' => 'c'
}
};
如您所见,解析后我无法确定字段“e”相对于数据结构开头的相对位置。
我想找出每个元素的偏移量。
我尝试搜索允许我按顺序解析 XML 文件的 perl XML 解析器,类似于“getnexttag()”之类的功能,但找不到。
以编程方式执行此操作的最佳方法是什么?如果不是 perl,那么哪种其他语言最适合做这项工作?
【问题讨论】:
标签: perl xml-parsing