【发布时间】:2011-11-22 15:07:27
【问题描述】:
我想使用 Perl 模块 Graph::easy 将 XML 文件转换为 graphML。我reeded 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 数据。谁能帮我解决这个问题?
【问题讨论】:
-
如果我理解正确,您想稍后阅读带有 Graph::Easy 的 GraphML 文件。我怎么看,它没有 GraphML 解析器,它只有他自己的格式,VCG 和 GraphViz。见parsers
-
@XoR 不,我想使用 perl 将 xml 转换为 GraphML。