<?php
$fp=fopen('adj_list','r');
if($fp===false) die('Can\'t open file');
//Dovremmo controllare se file è vuoto
$xml=fopen('out','w');
$VBOF='<?xml version="1.0" encoding="UTF-8"?><gexf xmlns="http://www.gexf.net/1.2draft" version="1.2"><meta lastmodifieddate="2009-03-20"><creator>mikinum7</creator><description>XmlPageRank</description></meta><graph mode="static" defaultedgetype="directed">';
$VEOF='</graph></gexf>';
$xmlNodesBOF="<nodes>";
$xmlNodesEOF="</nodes>";
$xmlEdgesBOF="<edges>";
$xmlEdgesEOF="</edges>";
$xmlNodes=$VBOF.$xmlNodesBOF;
$numEdge=0;
do{
	//if(!$line=fgets($fp))die('Can\'t read line');
	$line=fgets($fp);
	if($line===FALSE)break;
	$exploded=explode(':', $line);
	$node=$exploded[0];
	$xmlNodes.="<node id=\"".$node."\" label=\"".$node."\"/>";
	$Edges=explode(' ', $exploded[1]);
	if(sizeof($Edges)!=2){
		for($i=1;$i<sizeof($Edges)-1;$i++){
			$xmlEdges.="<edge id=\"".$numEdge."\" source=\"".$node."\" target=\"".$Edges[$i]."\"/>";
			$numEdge++;
		}
	}
}while(TRUE);
$xmlToWrite=$xmlNodes.$xmlNodesEOF.$xmlEdgesBOF.$xmlEdges.$xmlEdgesEOF.$VEOF;
//if(!fputs($xml, $xmlToWrite))die('Can\'t write file');
fputs($xml, $xmlToWrite);
fclose($xml);
fclose($fp);
?>