【发布时间】:2012-07-14 08:53:16
【问题描述】:
下面是我将使用的 XML:
<a>
<id>ABC</id>
<class />
<gender />
</a>
我想编写一个 Perl 代码来搜索标签“id”并将值“ABC”替换为“DEF”。
然而,上述 XML 的嵌套可以改变。所以我想制作一个通用代码,独立于其确切位置搜索标签“id”。
到目前为止,我能够获得可以替换 ABC 中的值的逻辑,但这会使我的代码静态标记“id”的位置。
#!usr/bin/perl
use warnings;
use XML::Simple;
use Spreadsheet::ParseExcel;
use Data::Dumper;
my $FileName = 'sample.xls';
my $xml_file = 'hello.xml';
$par=$ARGV[0];
my $xml = XMLin($xml_file,
KeepRoot=>1,
ForceArray=>1,);
$xml->{a}->[0]->{id}='DEF';
XMLout(
$xml,
KeepRoot =>1 ,
NoAttr =>1,
OutputFile => $xml_file,
);
}
【问题讨论】:
标签: xml perl xml-simple