XmlTextWriter ile memorystream'den veri okurken "Root element is missing" hatasının sebebi ne olabilir?
December 25, 2008 at 11:03 AM
—
oozturk
Bu hatayı almak için yapılabilecek birkaç kolay hata var. Aşağıda sorunları sıralıyorum.
1. Root element gerçekten yaratılmamış olabilir. Xml dökümanları bir kök ve içinde diğer öğeler ile yazılabilir.
2. Birden çok root element yaratılmış olabilir. 1. seçenekte de belirttiğim gibi xml dökümanları bir tane kök barındırırlar.
3. WriteStartElement ile açılmış olan bir ya da birden fazla öğe WriteEndElement ile sonlandırılmamıştır. Bu da söz dizimi hatasına yol açar. Açılmış olan her öğe daha sonra kapatılmalıdır.
4. XmlTextWriter'ın Load fonksiyonu çağırılmadan önce MemoryStream.Position = 0 komutu çalıştırılmamıştır. Bu komut ile stream içindeki pozisyonumuzu belirlemezsek XmlTextWriter'ımız, nereden başlayacağını bilemeyeceği için, hazırladığımız xml dökümanını alamaz.
Aklıma gelenler bunlar.