http://www.perlmonks.org?node_id=939452


in reply to Re: which is the best way to convert xml to GraphML using perl.
in thread which is the best way to convert xml to GraphML using perl.

I am unable to convert this xml file to GraphML format. can you give example how to convert xml to GraphML format using Graph::easy.

example.xml <?xml version="1.0" encoding="UTF-8" ?> <specification xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <orderinfo> <servicename>ssc</servicename> <Customer>dvr</Customer> <Suppliers> <Supplier Id="L7a" /> </Suppliers> </orderinfo> </specification>

I need to disply like servicename , customer, supplier as three nodes and edges from supplier to service name and service name to customer.I have large xml file like with same type of data. can you help or provide some examples.

Replies are listed 'Best First'.
Re^3: which is the best way to convert xml to GraphML using perl.
by Khen1950fx (Canon) on Nov 23, 2011 at 12:47 UTC
    It's confusing at first, but once you actually try to do something with it, it works. Here's a simple script to get you started. I just added a couple of edges, but I think that you'll be able to add some nodes and attributes after awhile.
    #!/usr/bin/perl use strict; use warnings; use Graph::Easy qw/as_graphml as_graphml_file/; my $graph = Graph::Easy->new(); my $graphml_file = $graph->as_graphml_file(); $graphml_file =~ s/\n.*<!--.*-->\n//; my $graphml = $graph->as_graphml(); $graph->add_edge('orderinfo', 'servicename'); binmode STDOUT, ':encoding(UTF-8)'; print $graphml = $graph->as_graphml();