Как обрабатывать XML-файлы с помощью модуля Graph :: easy в Perl - PullRequest
1 голос
/ 22 ноября 2011

Я хочу преобразовать файл XML в graphML, используя модуль Perl Graph :: easy.Я использовал Graph :: module, затем попробовал несколько примеров, как добавить узел и как добавить ребро, как это, и я сгенерировал файл GraphML, используя Graph :: Easy.Например:

#!/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, и я использовал какой-то инструмент для его представления в графовой модели.Но как мне обработать этот XML-файл с помощью Graph :: easy и преобразовать его в файл GraphML?

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

Мне нужно представить в графе поставщика и имя клиента и услуги как узлы и ребра между этими узлами.У меня есть много данных XML, как это в файле.Может ли кто-нибудь помочь мне с этой проблемой?

Ответы [ 2 ]

0 голосов
/ 23 ноября 2011

Как сказал Даворг. Вам нужно использовать XSLT. XSLT - это просто таблица стилей. Вы не уйдете от Perl, когда будете его использовать. Perl обеспечивает поддержку XSLT с помощью таких пакетов, как XML :: LibXSLT и многих других

Вы можете использовать эти пакеты для XSLT. Надеюсь, это поможет.

Пожалуйста, смотрите http://metacpan.org/pod/XML::LibXSLT и http://www.w3schools.com/xsl/

0 голосов
/ 22 ноября 2011

Ваш ввод XML.Ваш вывод является диалектом XML.Вероятно, лучший способ конвертировать один вид XML в другой - использовать XSLT.Нет необходимости использовать Perl вообще.

...