1

Perl初心者はこちら。誰かがperlを使用してこのxmlファイルからデータを抽出し、必要な出力をフォーマットする方法を教えてもらえますか?XML :: Simpleを使用しますか、それともfhとして開き、何らかの方法で分割しますか?ありがとうございました。

XML :: Simpleを使用するためのドキュメントは、私には単純ではないようです。

たとえば、次のような小さなxmlファイルがあります。

test.xml

<?xml version="1.5" encoding="UTF-8"?><org.apache.Content duration="277135" count="51" numDirs="50" bytesUsed="110133451"/>

attribute = "value"のペアをcsvファイルのように読み取れるように変換し: たいのですが、印刷したいのですが。

元:

duration:277135 count:51 numDirs:50 bytesUsed:110133451
4

2 に答える 2

3
Use XML::Simple - Easy API to maintain XML (esp config files) or 
see XML::Twig - A perl module for processing huge XML documents in tree mode.

use strict;
use warnings;
use XML::Simple;
use Data::Dumper;

my $xml = q~<?xml version="1.5" encoding="UTF-8"?>
<org.apache.Content duration="277135" count="51" numDirs="50" bytesUsed="110133451"/>~;

print $xml,$/;

my $data = XMLin($xml);

print Dumper( $data );

foreach my $attributes (keys %{$data}){
  print"$attributes : ${$data}{$attributes}\n";
}

出力:

bytesUsed : 110133451
numDirs : 50
count : 51
duration : 277135
于 2011-04-20T04:28:22.257 に答える
0

XML::Simple は作者自身が新しいコードに推奨していないので...

新しいコードでこのモジュールを使用することはお勧めできません。より単純で一貫したインターフェースを提供する他のモジュールが利用可能です。特に、XML::LibXML を強くお勧めします。

https://metacpan.org/pod/XML::LibXML::Simpleをチェックしてみてください。

このモジュールは XML::Simple (Grant McLean による) を単純に書き直したもので、XML 構造に XML::LibXML パーサーを使用します。元のモジュールではプレーンな Perl または SAX パーサーを使用していました。

于 2014-03-20T10:01:45.230 に答える