有人可以帮帮我吗?
我想使用perl修改xml文件。 我搜索并找到了像XML :: Simple / XML :: Twig这样的模块但找不到确切的方法。
以下是我的xml文件的一部分。我想修改名称为''sybase'的Driver的值,并将此更改保存到原始文件。
<Properties>
<Application>
<Name>global</Name>
<Cache>20</Cache>
<Trace>true</Trace>
<Drivers>
<Driver name="sybase"> com.sybase</Driver>
<Driver name="db2">com.db2</Driver>
</Drivers>
</Application>
</Properties>
答案 0 :(得分:1)
这样做的一个非常惯用的方法是:
#!/usr/bin/perl
use strict;
use warnings;
use XML::Twig;
XML::Twig->new( twig_handlers =>
{ 'Driver[@name="sybase"]'
=> sub { $_->set_text( 'new driver')->flush }
},
keep_spaces => 1, )
->parsefile_inplace( 'so.xml');
除此之外,“在适当位置编辑文件”的常用方法是处理文件,将结果输出到临时文件,然后,如果一切正常,则将临时文件重命名为原始文件名。