gpt4 book ai didi

perl - 使用perl修改xml

转载 作者:行者123 更新时间:2023-12-01 06:51:23 25 4
gpt4 key购买 nike

这是我的示例 xml 文件(weblogic 应用程序部署计划的截取版本)。

<?xml version="1.0" encoding="UTF-8"?>
<deployment-plan>
<application-name>ear-my-service</application-name>
<variable-definition>
<variable>
<name>characteristics</name>
<value>myTestEAR</value>
</variable>
<variable>
<name>Url</name>
<value>ABC</value>
</variable>
<variable>
<name>time</name>
<value>300</value>
</variable>
</variable-definition>
</deployment-plan>

我想在名称为特征时更新值。我环顾四周并整理了这个脚本。

#!/usr/bin/perl

use strict;
use warnings;
use XML::Twig;

my $data = shift ||die $!;

my $t= XML::Twig->new(
twig_handlers => {
q{project[string(name) =~ /\bcharacteristics\b/]/value} => \&value,
},
pretty_print => 'indented',
);
$t->parsefile( $data );
$t->print;

sub value {
my ($twig, $value) = @_;
$value->set_text("myTestEAR_Modified");
}

但是,它不会将值更改为 myTestEAR_Modified。我做错了吗?

最佳答案

XML中的标签名是variable,不是project,在条件(q{variable[string(name)...),它将起作用。

关于perl - 使用perl修改xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29106689/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com