Problem z null ref przy używaniu LINQ

0

Od wczoraj siedzę nad jednym problemem. Nie mogę zaczytać danych z pliku TCX (generowany przez Endomondo, jest tak naprawdę XML'em), do dziś nie udało mi się wczytać ani jednej zmiennej co jest bardzo frustrujące, gdyż pracowałem wcześniej z xml'ami i nie miałem aż takich problemów. Program wygląda następująco:

Program.cs :

using System;
using AnalizatorEndomondo.Loader;

namespace AnalizatorEndomondo
{
    class Program
    {
        static void Main(string[] args)
        {
            TCXLoader.ParseFile(TCXLoader.LoadFile());
        }
    }
}

TCXLoader.cs:

using System;
using System.Linq;
using System.Xml.Linq;
using AnalizatorEndomondo.Models;

namespace AnalizatorEndomondo.Loader
{
    public class TCXLoader
    {
        public static XDocument LoadFile()
        {
            const string path = @"C:\Users\obaran\source\repos\EndAn\EndAn\Loader\";
            var tcx = XDocument.Load(path + @"20180809_163604.tcx");
            return tcx;
        }

        public static void ParseFile(XDocument inputFile)
        {


            var lvl0 = inputFile;
            var training = new Training() //HERE IS ERROR!!
            {
                Activities = lvl0.Element("Activities").Elements("Activity")
                    .Select(a => new Activity()
                    {
                        Type = a.Attribute("Sport").Value
                    }).ToList()
            };
        }
    }
}

Training.cs :

using System;
using System.Collections.Generic;

namespace AnalizatorEndomondo.Models
{
    public class Training
    {
        public List<Activity> Activities { get; set; }
    }
}

Activity.cs :

using System;
namespace AnalizatorEndomondo.Models

{
    public class Activity
    {
        public string Type { get; set; }
    }
}

Plik z endomondo:

<?xml version="1.0" encoding="UTF-8"?>
<TrainingCenterDatabase xmlns="http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v2 http://www.garmin.com/xmlschemas/TrainingCenterDatabasev2.xsd">
  <Activities>
    <Activity Sport="Biking">
      <Id>2018-08-09T16:36:04Z</Id>
      <Lap StartTime="2018-08-09T16:36:04Z">
        <TotalTimeSeconds>1879.06</TotalTimeSeconds>
        <DistanceMeters>9373.99959564209</DistanceMeters>
        <Calories>351</Calories>
        <Intensity>Active</Intensity>
        <TriggerMethod>Manual</TriggerMethod>
        <Track>
          <Trackpoint>
            <Time>2018-08-09T16:36:04Z</Time>
            <Position>
              <LatitudeDegrees>50.0514405</LatitudeDegrees>
              <LongitudeDegrees>19.2179906</LongitudeDegrees>
            </Position>
            <DistanceMeters>0.0</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:36:07Z</Time>
            <Position>
              <LatitudeDegrees>50.0514405</LatitudeDegrees>
              <LongitudeDegrees>19.2179906</LongitudeDegrees>
            </Position>
            <AltitudeMeters>220.1</AltitudeMeters>
            <DistanceMeters>0.0</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:36:28Z</Time>
            <Position>
              <LatitudeDegrees>50.0514874</LatitudeDegrees>
              <LongitudeDegrees>19.2179671</LongitudeDegrees>
            </Position>
            <AltitudeMeters>230.5</AltitudeMeters>
            <DistanceMeters>4.999999888241291</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:36:43Z</Time>
            <Position>
              <LatitudeDegrees>50.05155</LatitudeDegrees>
              <LongitudeDegrees>19.2179955</LongitudeDegrees>
            </Position>
            <AltitudeMeters>230.5</AltitudeMeters>
            <DistanceMeters>13.000000268220901</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:36:45Z</Time>
            <Position>
              <LatitudeDegrees>50.0515816</LatitudeDegrees>
              <LongitudeDegrees>19.2180651</LongitudeDegrees>
            </Position>
            <AltitudeMeters>230.5</AltitudeMeters>
            <DistanceMeters>18.99999938905239</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:36:50Z</Time>
            <Position>
              <LatitudeDegrees>50.0516403</LatitudeDegrees>
              <LongitudeDegrees>19.2181889</LongitudeDegrees>
            </Position>
            <AltitudeMeters>230.5</AltitudeMeters>
            <DistanceMeters>29.999999329447746</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:36:53Z</Time>
            <Position>
              <LatitudeDegrees>50.05165</LatitudeDegrees>
              <LongitudeDegrees>19.2182758</LongitudeDegrees>
            </Position>
            <AltitudeMeters>230.5</AltitudeMeters>
            <DistanceMeters>35.999998450279236</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:36:56Z</Time>
            <Position>
              <LatitudeDegrees>50.0516894</LatitudeDegrees>
              <LongitudeDegrees>19.2183225</LongitudeDegrees>
            </Position>
            <AltitudeMeters>230.5</AltitudeMeters>
            <DistanceMeters>41.999999433755875</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:37:01Z</Time>
            <Position>
              <LatitudeDegrees>50.0517826</LatitudeDegrees>
              <LongitudeDegrees>19.2183305</LongitudeDegrees>
            </Position>
            <AltitudeMeters>230.5</AltitudeMeters>
            <DistanceMeters>52.000001072883606</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:37:07Z</Time>
            <Position>
              <LatitudeDegrees>50.051925</LatitudeDegrees>
              <LongitudeDegrees>19.2182029</LongitudeDegrees>
            </Position>
            <AltitudeMeters>230.5</AltitudeMeters>
            <DistanceMeters>70.00000029802322</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:37:13Z</Time>
            <Position>
              <LatitudeDegrees>50.0520505</LatitudeDegrees>
              <LongitudeDegrees>19.2183559</LongitudeDegrees>
            </Position>
            <AltitudeMeters>230.5</AltitudeMeters>
            <DistanceMeters>87.99999952316284</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:37:17Z</Time>
            <Position>
              <LatitudeDegrees>50.0521553</LatitudeDegrees>
              <LongitudeDegrees>19.218499</LongitudeDegrees>
            </Position>
            <AltitudeMeters>230.5</AltitudeMeters>
            <DistanceMeters>104.00000214576721</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:37:21Z</Time>
            <Position>
              <LatitudeDegrees>50.0522612</LatitudeDegrees>
              <LongitudeDegrees>19.2186515</LongitudeDegrees>
            </Position>
            <AltitudeMeters>230.5</AltitudeMeters>
            <DistanceMeters>119.99999731779099</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:37:25Z</Time>
            <Position>
              <LatitudeDegrees>50.052381</LatitudeDegrees>
              <LongitudeDegrees>19.2188203</LongitudeDegrees>
            </Position>
            <AltitudeMeters>230.5</AltitudeMeters>
            <DistanceMeters>137.9999965429306</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:37:29Z</Time>
            <Position>
              <LatitudeDegrees>50.0524924</LatitudeDegrees>
              <LongitudeDegrees>19.2189498</LongitudeDegrees>
            </Position>
            <AltitudeMeters>230.5</AltitudeMeters>
            <DistanceMeters>152.99999713897705</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:37:31Z</Time>
            <Position>
              <LatitudeDegrees>50.0525394</LatitudeDegrees>
              <LongitudeDegrees>19.2189987</LongitudeDegrees>
            </Position>
            <AltitudeMeters>231.0</AltitudeMeters>
            <DistanceMeters>158.9999943971634</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:37:33Z</Time>
            <Position>
              <LatitudeDegrees>50.0525822</LatitudeDegrees>
              <LongitudeDegrees>19.2190866</LongitudeDegrees>
            </Position>
            <AltitudeMeters>231.0</AltitudeMeters>
            <DistanceMeters>166.99999570846558</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:37:37Z</Time>
            <Position>
              <LatitudeDegrees>50.0526967</LatitudeDegrees>
              <LongitudeDegrees>19.2192789</LongitudeDegrees>
            </Position>
            <AltitudeMeters>231.7</AltitudeMeters>
            <DistanceMeters>186.0000044107437</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:37:41Z</Time>
            <Position>
              <LatitudeDegrees>50.0528001</LatitudeDegrees>
              <LongitudeDegrees>19.2194758</LongitudeDegrees>
            </Position>
            <AltitudeMeters>232.4</AltitudeMeters>
            <DistanceMeters>203.99999618530273</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:37:45Z</Time>
            <Position>
              <LatitudeDegrees>50.0529137</LatitudeDegrees>
              <LongitudeDegrees>19.219666</LongitudeDegrees>
            </Position>
            <AltitudeMeters>232.4</AltitudeMeters>
            <DistanceMeters>223.00000488758087</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:37:48Z</Time>
            <Position>
              <LatitudeDegrees>50.0529888</LatitudeDegrees>
              <LongitudeDegrees>19.2197761</LongitudeDegrees>
            </Position>
            <AltitudeMeters>232.5</AltitudeMeters>
            <DistanceMeters>233.99999737739563</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:37:52Z</Time>
            <Position>
              <LatitudeDegrees>50.0530712</LatitudeDegrees>
              <LongitudeDegrees>19.2199161</LongitudeDegrees>
            </Position>
            <AltitudeMeters>232.5</AltitudeMeters>
            <DistanceMeters>247.99999594688416</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:37:56Z</Time>
            <Position>
              <LatitudeDegrees>50.0531812</LatitudeDegrees>
              <LongitudeDegrees>19.2200878</LongitudeDegrees>
            </Position>
            <AltitudeMeters>232.5</AltitudeMeters>
            <DistanceMeters>264.99998569488525</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:37:59Z</Time>
            <Position>
              <LatitudeDegrees>50.053245</LatitudeDegrees>
              <LongitudeDegrees>19.2202061</LongitudeDegrees>
            </Position>
            <AltitudeMeters>232.5</AltitudeMeters>
            <DistanceMeters>275.9999930858612</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:38:03Z</Time>
            <Position>
              <LatitudeDegrees>50.0533334</LatitudeDegrees>
              <LongitudeDegrees>19.2203725</LongitudeDegrees>
            </Position>
            <AltitudeMeters>232.5</AltitudeMeters>
            <DistanceMeters>291.9999957084656</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:38:07Z</Time>
            <Position>
              <LatitudeDegrees>50.0534112</LatitudeDegrees>
              <LongitudeDegrees>19.2205239</LongitudeDegrees>
            </Position>
            <AltitudeMeters>232.5</AltitudeMeters>
            <DistanceMeters>305.9999942779541</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:38:11Z</Time>
            <Position>
              <LatitudeDegrees>50.0535387</LatitudeDegrees>
              <LongitudeDegrees>19.2206923</LongitudeDegrees>
            </Position>
            <AltitudeMeters>232.5</AltitudeMeters>
            <DistanceMeters>324.0000009536743</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:38:15Z</Time>
            <Position>
              <LatitudeDegrees>50.053646</LatitudeDegrees>
              <LongitudeDegrees>19.220854</LongitudeDegrees>
            </Position>
            <AltitudeMeters>232.5</AltitudeMeters>
            <DistanceMeters>340.9999907016754</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:38:18Z</Time>
            <Position>
              <LatitudeDegrees>50.0537148</LatitudeDegrees>
              <LongitudeDegrees>19.2209573</LongitudeDegrees>
            </Position>
            <AltitudeMeters>232.5</AltitudeMeters>
            <DistanceMeters>351.99999809265137</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:38:22Z</Time>
            <Position>
              <LatitudeDegrees>50.0538325</LatitudeDegrees>
              <LongitudeDegrees>19.2211332</LongitudeDegrees>
            </Position>
            <AltitudeMeters>232.5</AltitudeMeters>
            <DistanceMeters>370.0000047683716</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:38:26Z</Time>
            <Position>
              <LatitudeDegrees>50.0539679</LatitudeDegrees>
              <LongitudeDegrees>19.2213016</LongitudeDegrees>
            </Position>
            <AltitudeMeters>232.4</AltitudeMeters>
            <DistanceMeters>388.9999985694885</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:38:30Z</Time>
            <Position>
              <LatitudeDegrees>50.0540939</LatitudeDegrees>
              <LongitudeDegrees>19.2214758</LongitudeDegrees>
            </Position>
            <AltitudeMeters>232.4</AltitudeMeters>
            <DistanceMeters>407.99999237060547</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:38:35Z</Time>
            <Position>
              <LatitudeDegrees>50.0541764</LatitudeDegrees>
              <LongitudeDegrees>19.2216877</LongitudeDegrees>
            </Position>
            <AltitudeMeters>232.4</AltitudeMeters>
            <DistanceMeters>425.9999990463257</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:38:39Z</Time>
            <Position>
              <LatitudeDegrees>50.0542809</LatitudeDegrees>
              <LongitudeDegrees>19.2218288</LongitudeDegrees>
            </Position>
            <AltitudeMeters>232.4</AltitudeMeters>
            <DistanceMeters>441.0000145435333</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:38:43Z</Time>
            <Position>
              <LatitudeDegrees>50.0544083</LatitudeDegrees>
              <LongitudeDegrees>19.2220179</LongitudeDegrees>
            </Position>
            <AltitudeMeters>232.4</AltitudeMeters>
            <DistanceMeters>460.999995470047</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:38:47Z</Time>
            <Position>
              <LatitudeDegrees>50.0545218</LatitudeDegrees>
              <LongitudeDegrees>19.2222048</LongitudeDegrees>
            </Position>
            <AltitudeMeters>232.4</AltitudeMeters>
            <DistanceMeters>479.0000021457672</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:38:51Z</Time>
            <Position>
              <LatitudeDegrees>50.0545937</LatitudeDegrees>
              <LongitudeDegrees>19.2223906</LongitudeDegrees>
            </Position>
            <AltitudeMeters>232.3</AltitudeMeters>
            <DistanceMeters>493.99998784065247</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:38:56Z</Time>
            <Position>
              <LatitudeDegrees>50.0546962</LatitudeDegrees>
              <LongitudeDegrees>19.2225563</LongitudeDegrees>
            </Position>
            <AltitudeMeters>232.3</AltitudeMeters>
            <DistanceMeters>510.99997758865356</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:38:59Z</Time>
            <Position>
              <LatitudeDegrees>50.0547706</LatitudeDegrees>
              <LongitudeDegrees>19.2226582</LongitudeDegrees>
            </Position>
            <AltitudeMeters>232.4</AltitudeMeters>
            <DistanceMeters>522.0000147819519</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:39:06Z</Time>
            <Position>
              <LatitudeDegrees>50.0549616</LatitudeDegrees>
              <LongitudeDegrees>19.2229678</LongitudeDegrees>
            </Position>
            <AltitudeMeters>232.4</AltitudeMeters>
            <DistanceMeters>552.9999732971191</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:39:13Z</Time>
            <Position>
              <LatitudeDegrees>50.0551763</LatitudeDegrees>
              <LongitudeDegrees>19.223252</LongitudeDegrees>
            </Position>
            <AltitudeMeters>232.5</AltitudeMeters>
            <DistanceMeters>583.9999914169312</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:39:21Z</Time>
            <Position>
              <LatitudeDegrees>50.0553976</LatitudeDegrees>
              <LongitudeDegrees>19.223566</LongitudeDegrees>
            </Position>
            <AltitudeMeters>232.8</AltitudeMeters>
            <DistanceMeters>616.9999837875366</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:39:26Z</Time>
            <Position>
              <LatitudeDegrees>50.0555842</LatitudeDegrees>
              <LongitudeDegrees>19.2239023</LongitudeDegrees>
            </Position>
            <AltitudeMeters>232.9</AltitudeMeters>
            <DistanceMeters>648.9999890327454</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:39:32Z</Time>
            <Position>
              <LatitudeDegrees>50.0557774</LatitudeDegrees>
              <LongitudeDegrees>19.2242462</LongitudeDegrees>
            </Position>
            <AltitudeMeters>232.9</AltitudeMeters>
            <DistanceMeters>681.9999814033508</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:39:37Z</Time>
            <Position>
              <LatitudeDegrees>50.0559987</LatitudeDegrees>
              <LongitudeDegrees>19.2245177</LongitudeDegrees>
            </Position>
            <AltitudeMeters>232.7</AltitudeMeters>
            <DistanceMeters>712.9999995231628</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:39:40Z</Time>
            <Position>
              <LatitudeDegrees>50.0561094</LatitudeDegrees>
              <LongitudeDegrees>19.2247132</LongitudeDegrees>
            </Position>
            <AltitudeMeters>232.5</AltitudeMeters>
            <DistanceMeters>731.9999933242798</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:39:43Z</Time>
            <Position>
              <LatitudeDegrees>50.0562124</LatitudeDegrees>
              <LongitudeDegrees>19.2248783</LongitudeDegrees>
            </Position>
            <AltitudeMeters>232.5</AltitudeMeters>
            <DistanceMeters>748.0000257492065</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:39:46Z</Time>
            <Position>
              <LatitudeDegrees>50.0563139</LatitudeDegrees>
              <LongitudeDegrees>19.2250394</LongitudeDegrees>
            </Position>
            <AltitudeMeters>232.5</AltitudeMeters>
            <DistanceMeters>763.9999985694885</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:39:49Z</Time>
            <Position>
              <LatitudeDegrees>50.056417</LatitudeDegrees>
              <LongitudeDegrees>19.2251917</LongitudeDegrees>
            </Position>
            <AltitudeMeters>232.4</AltitudeMeters>
            <DistanceMeters>779.9999713897705</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:39:52Z</Time>
            <Position>
              <LatitudeDegrees>50.0565175</LatitudeDegrees>
              <LongitudeDegrees>19.2253525</LongitudeDegrees>
            </Position>
            <AltitudeMeters>232.4</AltitudeMeters>
            <DistanceMeters>796.0000038146973</DistanceMeters>
          </Trackpoint>
          <Trackpoint>
            <Time>2018-08-09T16:39:55Z</Time>
            <Position>
              <LatitudeDegrees>50.0566237</LatitudeDegrees>
              <LongitudeDegrees>19.2254873</LongitudeDegrees>
            </Position>
            <AltitudeMeters>232.4</AltitudeMeters>
            <DistanceMeters>811.9999766349792</DistanceMeters>
          </Trackpoint>
        </Track>
      </Lap>
    </Activity>
  </Activities>
</TrainingCenterDatabase>

Gdyby udało mi się zczytać Sport = "Biking" z Activities oraz Id, to byłbym już w domu, dlatego proszę o pomoc gdyż wczoraj siedziałem nad tym 8 godzin, próbowałem XmlDocument, XDocument oraz Serializacji i nic z tego mi nie wyszło.

#Edit_01 - Poniższy kod nie zwraca mi żadnej wartości

XPathNavigator nav = inputFile.CreateNavigator();
Console.WriteLine(nav.SelectSingleNode(("/TrainingCenterDatabase/Activities/Activity/Id")));

#Edit_02 - Tego sposobu też próbowałem wczoraj, efekt - nic

var points = inputFile.Descendants("Id");

foreach (XElement cur in points)
{
    Console.WriteLine(cur.Element("Id").Value);
}

#Edit_03 - W ten sposób mogę wyświetlić wszystkie dane, ale w taki sposób że są bezużyteczne, ale może to jakiś trop

var lvl0 = inputFile;

foreach (var node in lvl0.DescendantNodes().OfType<XText>())
{
    var value = node.Value.Trim();
    Console.WriteLine(value);
}

#Edit_04 - XmlDocument też słabo, w debugerze nic nie ma, plik się wczytuje ale jak próbuję cokolwiek robić z node'ami to niestety null

StringBuilder result = new StringBuilder();
XmlNodeList xml = inputFile.SelectNodes("TrainingCenterDatabase");

foreach (XmlNode level1Element in xml)
{
    result.AppendLine(level1Element["Activities"].Name);
}

Console.WriteLine(result);
1

Możesz tak to odczytać

  1. Kopiujesz zawartość pliku xml ctrl + c
  2. Visual Studio Edit -> Paste Special as xml tworzy ci klasy na podstawie xmla
  3. Gdy, już masz klasy możesz coś takiego
class Program {
   static void Main(string[] args)
        {
            var file = File.ReadAllText(@"C:\..\plik.xml");
            var data = DeserializeFile(file);
            Console.ReadKey();
        }

      public static TrainingCenterDatabase DeserializeFile(string file) 
        {
            var serializer = new XmlSerializer(typeof(TrainingCenterDatabase));
            using (TextReader reader = new StringReader(file))
            {
                return (TrainingCenterDatabase)serializer.Deserialize(reader);
            }
        }
}
0

Działa, wielkie dzięki! Btw, kiedy wprowadzili taką opcję z tym paste special?

1 użytkowników online, w tym zalogowanych: 0, gości: 1