XML::Simpleを使用してXMLファイルを編集しています。その後、更新されたデータが新しいXMLファイルに送信されます。ただし、この手順では<opt></opt>
、追加するタグが生成され、元の親タグは失われます。<opt>
元のタグ名に置き換えたい。それ、どうやったら出来るの?
1302 次
3 に答える
2
KeepRootを参照してください。strict モードを有効にすることも検討してください。
#!/usr/bin/perl
use strict; use warnings;
use XML::Simple qw(:strict);
use Data::Dumper;
my $x = XMLin(\*DATA, KeepRoot => 1, ForceArray => 1, KeyAttr => ['the']);
print XMLout($x, KeepRoot => 1, KeyAttr => ['the']);
__DATA__
<this>
<that the="other">This that and the other</that>
</this>
出力:
<this>
<that the="other">This that and the other</that>
</this>
于 2010-01-13T23:44:22.687 に答える
0
XML::Simpleの限界を広げています。それが何をしているのか正確に気に入らないところまで来たら、それは別のことをする時です. 他に何があるかは問題によって異なりますが、私はXML::Twigが好きです。
于 2010-01-14T04:06:57.380 に答える
0
新しいxmlファイルでは、正規表現を使用して削除するパターンを見つけてから、元のタグである必要なパターンに置き換えることができます。
@ar="xml file";
$pat="tag you want to replace";
$rep="original tag";
foreach $a (@ar) {
if ($a =~ s|$pat|$rep|gi;
}
xml ファイル ハンドラ名=@arr;
于 2010-01-14T02:21:52.537 に答える