Ejemplo n.º 1
0
    public static string Parse(List <XmlReader> xml, string fileName, bool writeToFile = false)
    {
        JsonMoves json = new JsonMoves();

        json.day = new JsonMoves.Day[xml.Count];
        for (int i = 0; i < xml.Count; i++)
        {
            // Date
            json.day[i] = new JsonMoves.Day(xml[i].date);

            // Summary
            ParseSummary(i, json, xml);

            // Segments
            ParseSegments(i, json, xml);
        }
        string output = JsonConvert.SerializeObject(json,
                                                    Newtonsoft.Json.Formatting.None,
                                                    new JsonSerializerSettings {
            NullValueHandling = NullValueHandling.Ignore
        });

        output = CleanUpJson(output);
        if (writeToFile)
        {
            WriteToFile(output, fileName);
        }
        return(output);
    }
Ejemplo n.º 2
0
    // Summary parsing
    static void ParseSegments(int i, JsonMoves json, List <XmlReader> xml)
    {
        List <JsonMoves.Day.Segment> segments = new List <JsonMoves.Day.Segment>();

        foreach (var item in xml[i].timelineItems)
        {
            if (item.type == XmlTimeline.TimelineItemType.place)
            {
                segments.Add(SegmentPlace(item.place));
            }
            else
            {
                segments.Add(SegmentMove(item.activity));
            }
        }
        json.day[i].segments = segments.ToArray();
    }
Ejemplo n.º 3
0
    static void ParseSummary(int i, JsonMoves json, List <XmlReader> xml)
    {
        List <ActivitySummary> summaries = new List <ActivitySummary>();

        for (int o = 0; o < 10; o++)
        {
            if (xml[i].summary[o].duration > 0)
            {
                summaries.Add(xml[i].summary[o]);
            }
        }
        List <JsonMoves.Day.Summary> convertedSummaries = new List <JsonMoves.Day.Summary>();

        foreach (var item in summaries)
        {
            convertedSummaries.Add(item.ToMoves());
        }
        json.day[i].summary = convertedSummaries.ToArray();
    }