1

Perl モジュール Graph::easy を使用して、XML ファイルを graphML に変換したいと考えています。Graph::module を読み込んでから、ノードを追加する方法とそのようなエッジを追加する方法の例をいくつか試し、Graph::Easy を使用して graphML ファイルを生成しました。例えば:

#!/usr/bin/perl
use warnings;
use strict;
use Graph::Easy;

my $graph = Graph::Easy->new();
$graph->add_edge( 'supplier', 'customer' );

open STDOUT,  '>',  'biji.graphml';
binmode STDOUT, ':encoding(UTF-8)';
print $graph->as_graphml();
close STDOUT;

このスクリプトを実行すると、graphML ファイルが生成され、いくつかのツールを使用してグラフ モデルで表現しました。しかし、Graph::easy を使用してこの XML ファイルを処理し、GraphML ファイルに変換するにはどうすればよいでしょうか。

<orderinfo>
 <servicename>scc</servicename>
  <Customer>bvr</Customer>
   <Suppliers>
     <Supplier Id="svr" />
   </Suppliers>
</orderinfo>

グラフでは、サプライヤと顧客、およびサービス名を、ノードとこれらのノード間のエッジとして表す必要があります。ファイルには、このような XML データがたくさんあります。誰でもこの問題を解決できますか?

4

2 に答える 2

0

入力は XML です。出力は XML の方言です。ある種類の XML を別の種類に変換する最善の方法は、おそらく XSLT を使用することです。Perl を使用する必要はまったくありません。

于 2011-11-22T16:44:20.583 に答える
0

ダヴォーグが言ったように。XSLT を使用する必要があります。XSLT は単なるスタイル シートです。perl を使用するときに、perl から離れることはありません。Perl は、XML::LibXSLT などのパッケージで XSLT のサポートを提供します。

これらのパッケージを XSLT に使用できます。これが役立つことを願っています。

http://metacpan.org/pod/XML::LibXSLTおよび http://www.w3schools.com/xsl/を参照 してください。

于 2011-11-23T05:36:33.563 に答える