如何在XML文件中为行的特定属性添加固定数字?

时间:2013-03-16 15:28:53

标签: xml perl

我有一个XML文件,其中包含以下几行:

<Teste  Time="380643" TT="380592" Win="-2" Xl="28" Yl="55" />
<Teste  Time="380660" TT="380592" Win="-2" Xl="28" Yl="55" />

我需要为Time属性的每个实例添加固定数字,例如380643 + 10000,并获取包含新行的XML文件,例如<Time="390643" TT="380592" Win="-2" Xl="28" Yl="55"/>。这可能使用Perl吗?如果是这样,怎么样?如果没有,我该怎么办?

2 个答案:

答案 0 :(得分:1)

XML::Twigtwig_roots

一起使用
my $twig=XML::Twig->new(   
  twig_roots => 
    { Time => sub { $_->set_att( TT => $_->att('TT')+10000 )->flush; } 
    },
  twig_print_outside_roots => 1 
);
$twig->parsefile('myXmlFile.xml');

答案 1 :(得分:0)

您可以这样做:

#!/usr/bin/perl

# use module
use XML::Simple;

# create object
$xml = new XML::Simple;

# read XML file
$data = $xml->XMLin("data.xml");

# access XML data
$time = $data->{Time}->TT;
//do your stuff here

更多:Here