gpt4 book ai didi

perl - 使用 XML::Simple 在 Perl 中检索数据

转载 作者:行者123 更新时间:2023-12-01 19:00:32 25 4
gpt4 key购买 nike

我创建了以下 XML 文件来检索数据。

输入:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<ExecutionLogs>
<category cname='Condition1' cid='T1'>
<log>value1</log>
<log>value2</log>
<log>value3</log>
</category>
<category cname='Condition2' cid='T2'>
<log>value4</log>
<log>value5</log>
<log>value6</log>
</category>
<category cname='Condition3' cid='T3'>
<log>value7</log>
</category>
</ExecutionLogs>

我想要如下的输出,

Condition1 -> value1,value2,value3
Condition2 -> value4,value5,value6
Condition3 -> value7

我已经尝试过下面的代码,

use strict;
use XML::Simple;
my $filename = "input.xml";
$config = XML::Simple->new();
$config = XMLin($filename);
@values = @{$config->{'category'}{'log'}};

请帮我解决这个问题。提前致谢。

最佳答案

使用 XML::Twig 执行此操作的方法:

#!/usr/bin/perl

use strict;
use warnings;

use XML::Twig;

XML::Twig->new( twig_handlers => {
category => sub { print $_->att( 'cname'), ': ',
join( ',', $_->children_text( 'log')), "\n";
},
},
)

->parsefile( 'my.xml');

每次解析 category 元素时都会调用该处理程序。 $_ 是元素本身。

关于perl - 使用 XML::Simple 在 Perl 中检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27498386/

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