Ejemplo n.º 1
0
        private string CreateXml(GraphML graphML)
        {
            var sb = new StringBuilder();

            sb.AppendLine("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");

            sb.AppendLine(
                "<graphml xmlns=\"http://graphml.graphdrawing.org/xmlns\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd\">");

            sb.AppendLine($"<graph id=\"{graphML.Id}\" edgedefault=\"directed\">");

            foreach (GraphMLNode node in graphML.Nodes)
            {
                sb.AppendLine($"<node id=\"{node.Id}\"/>");
            }

            foreach (GraphMLEdge edge in graphML.Edges)
            {
                sb.AppendLine($"<edge source=\"{edge.Source}\" target=\"{edge.Target}\"/>");
            }

            sb.AppendLine("</graph>");
            sb.AppendLine("</graphml>");

            return(sb.ToString());
        }
Ejemplo n.º 2
0
        public ActionResult Index()
        {
            string                  xml;
            FacebookApp             app             = new FacebookApp();
            JsonObject              me              = (JsonObject)app.Get("me");
            JsonObject              friends         = (JsonObject)app.Get("me/friends");
            FacebookFriends         facebookFriends = JsonConvert.DeserializeObject <FacebookFriends>(friends.ToString());
            XmlSerializer           serializer      = new XmlSerializer(typeof(GraphML));
            XmlSerializerNamespaces namespaces      = new XmlSerializerNamespaces();
            List <FacebookUser>     users           = new List <FacebookUser>();
            GraphML                 graphML         = new GraphML();

            // Add Users
            users.Add(JsonConvert.DeserializeObject <FacebookUser>(me.ToString()));

            foreach (FacebookUser user in facebookFriends.Friends)
            {
                JsonObject friend = (JsonObject)app.Get(user.Id.ToString());
                users.Add(JsonConvert.DeserializeObject <FacebookUser>(friend.ToString()));
            }

            // Prepare the keys
            AddKeys(graphML.Keys);

            // Add the Berico namspace
            namespaces.Add("berico", "http://graph.bericotechnologies.com/xmlns");

            foreach (FacebookUser user in users)
            {
                graphML.Graph.Nodes.Add(Mapper.Map <FacebookUser, Node>(user));
            }

            using (MemoryStream stream = new MemoryStream())
            {
                XmlDocument doc = new XmlDocument();

                serializer.Serialize(stream, graphML, namespaces);
                stream.Seek(0, SeekOrigin.Begin);
                doc.Load(stream);

                // Read the XML into a string object
                xml = doc.OuterXml;
            }

            return(this.Content(xml, "txt/xml"));
        }