'//element_name' などの XPATH を指定すると、結果の構造を取得したいと思います。たとえば、次のようにします。
<element_name>
<tag1>value1</tag1>
<nested>
<tag2>value2</tag2>
</nested>
</element_name>
...そしてそれをハッシュにフラット化します:-
{ 'tag1' => 'value1',
'tag2' => 'value2'
}
したがって、基本的にはツリーを可能な限り深く掘り下げ、それ以上深く掘り下げられない場合はハッシュに書き込みます。
要素の値は常に一意です。何らかの理由でそうでない場合は、ハッシュを上書きしてもかまいません。
これには明らかに再帰が必要です。しかし、私の質問は、これを達成するのに最適な perl XML パーサーはどれですか? コード構造に関するポインタも高く評価されています。最終結果は SQL ステートメントになるため、タグが一意になります。一部のタグにはさらに処理が必要なため、XML を直接インポートすることはできません。