鉴于以下XML和脚本,我可以生成:
{
Item => {
Details => { color => { Val => "green" }, texture => { Val => "smooth" } },
},
}
Run Code Online (Sandbox Code Playgroud)
但是,我真的想要以下内容:
{
Item => {
Details => { color => "green", texture => "smooth" },
},
}
Run Code Online (Sandbox Code Playgroud)
我不能在这里使用GroupTags,因为可能有许多Details项(Key/Val对),并且在处理之前它们可能是未知的.是否有可能在不通过XPath,SAX等手动提取的情况下生成所需的结构?
use strict;
use warnings;
use Data::Dump;
use XML::Simple;
my $xml = do { local $/; scalar <DATA> };
my $obj = XMLin(
$xml,
NoAttr => 1,
GroupTags => { Details => 'Item' },
KeyAttr => [ 'Key'], …Run Code Online (Sandbox Code Playgroud)