C#

C# ile XML Nasıl Okunur

Aşağıdaki gibi bir XML verimizin olduğunu farz edin

<?xml version="1.0" encoding="utf-8"?>
<CarCollection>
<Cars>
  <Car>
    <StockNumber>1020</StockNumber>
    <Make>Nissan</Make>
    <Model>Sentra</Model>
  </Car>
  <Car>
    <StockNumber>1010</StockNumber>
    <Make>Toyota</Make>
    <Model>Corolla</Model>
  </Car>
  <Car>
    <StockNumber>1111</StockNumber>
    <Make>Honda</Make>
    <Model>Accord</Model>
  </Car>
</Cars>
</CarCollection>​


Bunu okumak için öncelikle bu veriye uygun bir model oluşturmamız gerekiyor

[Serializable()]
[System.Xml.Serialization.XmlRoot("CarCollection")]
public class CarCollection
{
    [XmlArray("Cars")]
    [XmlArrayItem("Car", typeof(Car))]
    public Car[] Car { get; set; }
}

[Serializable()]
public class Car
{
    [System.Xml.Serialization.XmlElement("StockNumber")]
    public string StockNumber { get; set; }

    [System.Xml.Serialization.XmlElement("Make")]
    public string Make { get; set; }

    [System.Xml.Serialization.XmlElement("Model")]
    public string Model { get; set; }
}
​


Daha sonra okuma işlemleri için gerekli olan kodlar yazılır

string path = "cars.xml";

using var reader = new StreamReader(path){
    var serializer = new XmlSerializer(typeof(CarCollection));
    var cars = (CarCollection)serializer.Deserialize(reader);
    reader.Close();​
}