我想检查字符串是否存在于xml标记
中和xml标签采用以下格式。
<admin var="s_admin">xyz</admin>
我试过
index($xmlString,$str) != -1
但它不适合我。这是我的代码:
my $hostname = hostname;
my $wlsadmin = grep s_wls_admin_host $ENV{CONTEXT_FILE};
$wlsadmin=~s/^\s+|\s+$//g;
if(index($wlsadmin,$hostname) != -1) {
print("True");
}
print($hostname);
print($wlsadmin);
这是print语句的值:
rws3510357 <wls_admin_host oa_var="s_wls_admin_host">rws3510357</wls_admin_host>
答案 0 :(得分:1)
正如其他人所评论的那样,我并不确定你出了什么问题,但这是一个使用基于DOM的XML解析器来查找标签并提取其内容的示例。从那里可以轻松地将这些内容与某些字符串进行比较,就像使用index
一样。
#!/usr/bin/env perl
use strict;
use warnings;
use Mojo::DOM;
my $dom = Mojo::DOM->new(<<'END');
<wls_admin_host oa_var="s_wls_admin_host">rws3510357</wls_admin_host>
END
my $hostname = 'rws3510357';
my $wlsadmin = $dom->at('wls_admin_host')->text;
if (index($wlsadmin, $hostname) != -1 ) {
print "True\n";
}