-3

XMLのタグの内容を置き換えるperlコードを書きたい。例<A>Hello<A>

XMLでタグを検索し<A>、値「Hello」を「Hi」に置き換えたいと思います。

それ、どうやったら出来るの?

4

2 に答える 2

2

このXML::Twigモジュールは、XML の解析時に特定のタグが検出されたときに実行されるハンドラーを指定できるため、これに最適です。

例として実際の XML データを提供していただければ助かりますが、代わりに、質問の正確性を使用しました。

use strict;
use warnings;

use XML::Twig;

my $twig = XML::Twig->new(
  twig_handlers => { A => sub { $_->subs_text(qr/Hello/, 'Hi') } },
);

$twig->parse(*DATA);
$twig->print;

__DATA__
<root>
I want to replace the content of a tag in XML. e.g. In
<A>Hello</A> I want to replace the value "Hello" with "Hi".
</root>

出力

<root>
I want to replace the content of a tag in XML. e.g. In
<A>Hi</A> I want to replace the value "Hello" with "Hi".
</root>
于 2012-11-27T12:21:57.507 に答える
0

XML :: XSH2を使用して、XML :: LibXMLのラッパー:

open file.xml ;
for //A[text()='Hello'] set text() 'Hi' ;
save :b ;
于 2012-11-27T10:51:54.817 に答える