XmlReader programlarınızın XML okumasını sağlar. Çeşitli metod ve propertylere sahiptir. Bunlara bir göz atacak olursak :

Metodlar:

Read: XML dökümanı üzerindeki sıradaki element’i okumamızı sağlar.

Skip: Readerın üzerinde bulunduğu element’in sıradaki child elementini’unu okumadan geçmemizi sağlar.

MoveToNextAttribute: Reader’ı üzerinde bulunduğu child elementin üzerinde bulunan attribute’ten bir sonraki attribute konumlanmasına sağlar

Properties:

Name: Üzerinde bulunduğu node’un adını döndürür.

Value: Üzerinde bulunduğu node’un değerini döndürür.

NodeType: Üzerinde bulunduğu node’un tipini döndürür.

Örnek Kullanım :

C üzerinde bulunan test isimdeki xml dosyasını okuyup result adındaki değişkene atayan örnek bir kod yazacak olursak:

using System.Xml;

string result = “”;
XmlReader xmlReader = XmlReader.Create(“C://test.xml”);
while (xmlReader.Read())
{
result += (xmlReader.Name + “=” + xmlReader.Value);
}
xmlReader.Close();

Bununla birlikte xml dosyalarını okurken xml okuyucumuza çeşitli ayarlar yapılandırabiliriz. Bunu XmlReaderSettings sınıfı ile yapabiliriz. Bu sınıfın önemli propertyleri:

IgnoreComments: Xml dökümanın içeriğindeki yorumların okunup okunamaması ayarının yapıldığı property.

IgnoreWhitespace: Xml dökümanın içeriğindeki boşluk karakterinin okunup okunamaması ayarının yapıldığı property.

CheckCharacters: Xml dökümanın içeriğini okurken karakter kontrolünün yapılıp yapılmaması ayarını yapabileceğiniz property.

şimdide xml okuma kodunumuzu okuyucumuza bazı ayarlar ekleyerek nasıl yazılır onu görelim:

XmlReaderSettings xmlReaderSett = new XmlReaderSettings();
xmlReaderSett.IgnoreComments = true;
xmlReaderSett.IgnoreWhitespace = true;
xmlReaderSett.CheckCharacters = true;

string result = “”;
XmlReader xmlReader = XmlReader.Create(“C://test.xml”,xmlReaderSett);
while (xmlReader.Read())
{
result += (xmlReader.Name + “=” + xmlReader.Value);
}
xmlReader.Close();