У меня есть большой xml-файл, который я читаю построчно.
<Role elemId="id35" island_id="0" role_name="Design" value="True"/>
<Role elemId="id34" island_id="0" role_name="Lead" value="False"/>
Что мне нужно сделать, это всякий раз, когда я вижу в строке имя_ роли, мне нужно сделать его пустым.
Например, это мой желаемый вывод.Обратите внимание, что имя-роли не указано.
<Role elemId="id35" island_id="0" role_name="" value="True"/>
<Role elemId="id34" island_id="0" role_name="" value="False"/>
имя-роли может иметь любое число или комбинацию значений.поэтому я не могу жестко закодировать его
Вот мой рабочий код:
#!/usr/bin/perl
use strict;
use warnings;
print "\nPerl Starting ... \n\n";
while (my $recordLine =<DATA>)
{
chomp($recordLine);
print "$recordLine ...\n";
if (index($recordLine, "role_name") != -1)
{
#Found role_name tag ... now blank it ... how?
$recordLine =~ s/role_name="Design"/role_name=""/g; #I need a generic reg experssion here
print "recordLine: $recordLine ...\n";
}
}
print "\nPerl End ... \n\n";
__DATA__
<Role elemId="id35" island_id="0" role_name="Design" value="True"/>
<Role elemId="id34" island_id="0" role_name="Lead" value="False"/>