我正在使用Mojo::UserAgent->new
来获取一些具有以下格式的XML:
<row>
<td> content1 </td>
<td> content2 </td>
<td> content3 </td>
</row>
<row>
<td> content4 </td>
<td> content5 </td>
<td> content6 </td>
</row>
是否可以像这样查看结果:
content1,content2,content3
content4,content5,content6
下面是我正在使用的查询获得不同的结果
$ua->get($url)->res->dom->at->(row)->children->each(sub {print "$_\t"})
答案 0 :(得分:5)
当然,Mojo::Collection在幕后工作,这绝对是可能而且并不难。
<强>代码强>
# replace this line by your existing $ua->get($url)->res->dom code
my $dom = Mojo::DOM->new(do { local $/ = undef; <DATA> });
# pretty-print rows
$dom->find('row')->each(sub {
my $row = shift;
say $row->children->pluck('text')->join(', ');
});
数据强>
__DATA__
<row>
<td> content1 </td>
<td> content2 </td>
<td> content3 </td>
</row>
<row>
<td> content4 </td>
<td> content5 </td>
<td> content6 </td>
</row>
<强>输出强>
content1, content2, content3
content4, content5, content6
一些评论
td
的所有row
元素都会加入。HTH!