2013-12-09 15 views
5

Dosya boyutunu XmlReader'dan hesaplamanın bir yolu olup olmadığını bulmaya çalışıyorum. Okuyucu nesnesinde boyutu belirlemeye yardımcı olan hiçbir şey göremiyorum. Herhangi bir fikir? Teşekkür ederim!XmlReader'a yüklüyse, xml boyutunu hesaplamak mümkün mü?

Using reader As Xml.XmlReader = GetXML(columnName.ToString()) 

End Using 
+1

boyutunu bilmek gerek nedeniniz nedir? Bu bir geçici çözüm bulmaya yardımcı olabilir. –

+0

Sadece bir amaç için kullanıcıya gösterilmek içindir. – Jyina

cevap

4

XmlReader bilinen veya kesin boyutu olan bir şey okunan olmayabilir. En iyi bahsiniz, XmlReader'un okuduğu her şeyin kaynağı ile bir şeyler yapmak olacaktır. Örneğin. Bir Stream olabilir ve Stream.Length almayı deneyebilirsiniz (bazı akışlar, uzunlukları olmadığı için bunu desteklemez). Bu, GetXML değiştirilmesini gerektirir. Eğer kaynak olarak XmlReader kullanmanız gerekiyorsa

+0

Ayrıca, tüm akışların bir uzunluğu yoktur. –

+0

@JohnSaunders iyi bir nokta. Belgeler 'Length'un atabileceğini gösteriyor, ama cevabımda bunu not etmek güzel. –

1

, bu dosya boyutuna (C#) kapatmak almalısınız:

int sizeInBytes = Encoding.ASCII.GetBytes(reader.ReadOuterXml()).Length; 
+0

Evet, XmlReader kullanmalıyım. Teşekkür ederim. Denerim. – Jyina

İlgili konular