2013-12-09 17 views
5

我想知道是否有方法從XmlReader計算文件大小。我沒有看到有助於確定尺寸的閱讀器對象上的任何內容。有任何想法嗎?謝謝!如果將它加載到XmlReader中,是否可以計算xml的大小?

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

End Using 
+1

你是什麼理由需要知道的大小?這可能有助於找到解決方法。 –

+0

這只是爲了某些目的向用戶顯示。 – Jyina

回答

4

XmlReader可能無法讀取具有已知或確定大小的東西。你最好的辦法是用XmlReader正在閱讀的文章的來源做一些事情。例如。你可能有一個Stream並試圖得到Stream.Length(有些流不支持這個,因爲它們沒有長度)。這將需要修改GetXML

+0

另外,並非所有的流都有一個長度。 –

+0

@JohnSaunders好點。文檔顯示「長度」可能會丟失,但在我的答案中注意這一點很好。 –

1

如果必須使用的XmlReader作爲源,這應該讓你關閉文件的大小(C#):

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

是的,我必須使用XmlReader。謝謝。我會試試看。 – Jyina

相關問題