<?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); ?>