OCaml Печатать заявления

Для начинающих

Я нашел ответы здесь очень полезными, сказав, что я все еще борелся (всего лишь немного), чтобы заставить это работать. Поэтому, если это поможет кому-то, я расскажу о рабочем решении:

XML из оригинального вопроса. Xml находится в файле Class1.xml, path к этому файлу используется в коде для поиска этого xml-файла.

Я использовал ответ by @erymski, чтобы заставить это работать, поэтому создал файл под названием Car.cs и добавил следующее:

using System.Xml.Serialization;  // Added

public class Car
{
    public string StockNumber { get; set; }
    public string Make { get; set; }
    public string Model { get; set; }
}

[XmlRootAttribute("Cars")]
public class CarCollection
{
    [XmlElement("Car")]
    public Car[] Cars { get; set; }
}

Другой бит кода, предоставленный @erymski ...

using (TextReader reader = new StreamReader(path))
{
  XmlSerializer serializer = new XmlSerializer(typeof(CarCollection));
  return (CarCollection) serializer.Deserialize(reader);
}
< / blockquote>

... входит в вашу основную программу (Program.cs), в static CarCollection XCar(), как это:

using System;
using System.IO;
using System.Xml.Serialization;

namespace ConsoleApp2
{
    class Program
    {

        public static void Main()
        {
            var c = new CarCollection();

            c = XCar();

            foreach (var k in c.Cars)
            {
                Console.WriteLine(k.Make + " " + k.Model + " " + k.StockNumber);
            }
            c = null;
            Console.ReadLine();

        }
        static CarCollection XCar()
        {
            using (TextReader reader = new StreamReader(@"C:\Users\SlowLearner\source\repos\ConsoleApp2\ConsoleApp2\Class1.xml"))
            {
                XmlSerializer serializer = new XmlSerializer(typeof(CarCollection));
                return (CarCollection)serializer.Deserialize(reader);
            }
        }
    }
}

Надеюсь, что это поможет: -)

13
задан Hi I'm Frogatto 31 October 2016 в 12:29
поделиться