需要在构建之前动态更改ivy.xml中的rev =“{rev}”。我试图使用Perl XML:Simple模块,但输出是不可接受的。在依赖项部分,我得到:
<dependencies name="dependency">
<poi org="ossjava" rev="3.6.0" />
</dependencies>
的instea
<dependencies>
<dependency org="ossjava" name="poi" rev="3.6.0"/>
</dependencies>
请帮忙! Python代码片段也足够了
答案 0 :(得分:1)
XML :: Simple具有讽刺意味的是使用最复杂的XML模块。您需要指定一个空的KeyAttr
参数。
无论如何,我会用:
use XML::LibXML qw( );
my $qfn = 'ivy.xml';
my $parser = XML::LibXML->new();
my $doc = $parser->parse_file($qfn);
my $root = $doc->documentElement();
for my $poi ($root->findnodes('//poi')) {
$poi->setAttribute('rev', process($poi->getAttribute('rev')));
}
$doc->toFile($qfn);