如何更新XML标记的内容?

如何更新XML标记的内容?,xml,perl,Xml,Perl,我想编写一个perl代码来替换XML中标记的内容。例如,你好 我想在我的XML中搜索标记,然后将值“Hello”替换为“Hi” 如何做到这一点?使用包装器: 该模块非常适合这样做,因为它允许您指定在解析XML时遇到给定标记时执行的处理程序 如果您提供了一些真实的XML数据作为示例,这会有所帮助,但我使用了您的问题的一部分 use strict; use warnings; use XML::Twig; my $twig = XML::Twig->new( twig_handlers

我想编写一个perl代码来替换XML中标记的内容。例如,
你好

我想在我的XML中搜索标记
,然后将值“Hello”替换为“Hi”

如何做到这一点?

使用包装器:

该模块非常适合这样做,因为它允许您指定在解析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>
使用严格;
使用警告;
使用XML::Twig;
my$twig=XML::twig->new(
小枝处理程序=>{A=>sub{$\->subs\u文本(qr/Hello/,'Hi')},
);
$twig->parse(*数据);
$twig->print;
__资料__
我想用XML替换标记的内容。e、 g.在
Hello我想将值“Hello”替换为“Hi”。
输出

<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>

我想用XML替换标记的内容。e、 g.在
Hi我想用“Hi”替换值“Hello”。

Stack Overflow旨在支持那些已经尽了最大努力但未能解决编程问题的程序员。这里没有任何证据表明你做了任何努力。如果你展示你写的代码,我们会尽力帮助你。请详细说明一下。我不能理解逻辑。@PrafulMathur:这个答案中的代码是嵌入XSH的。作者没有展示包含它所必需的Perl。在我看来,对于这样一个简单的应用程序来说,这个模块太过分了。@Borodin:您可以自己使用
xsh
,而无需任何嵌入。适用于简单的应用程序:-)是的,但这是一个Perl问题,表面上是一个Perl答案:)
<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>