2010-11-29 48 views
1

我想知道如何使用XmlDocument類來處理一個小的XML文件的意義。 如果在加載XML文件的過程中,XmlDocument爲所有XML元素及其關係創建了一整套面向對象的結構,理論上對於小型XML文件,性能會有所下降,資源消耗也會有所減少,同時,清晰和簡單的數據管理。對於小XML文件C#的XmlDocument - 重量/性能

我讀到的XML文件的處理許多文章 - 甚至對於小文件 - usualy人喜歡使用XmlTextReader的輕量化解決方案,而不是XmlDocument的快進的閱讀建議。我錯了還是XmlDocument不是很糟糕?

+1

爲什麼不在你的文件上運行一些基準測試?你可以比較'XmlDocument`和`XmlTextReader`的性能,並找出你自己。 – Oded 2010-11-29 13:49:05

+0

你有沒有考慮過使用Linq to XML?!? – Leonardo 2010-11-29 13:51:47

回答

2

你將不得不測量它,但即使是一個小文件,I/O也將是主要因素。

而且你想如何使用該文件?這更重要。

我從來不考慮對小文件的XML(文本)閱讀器。它會優化的唯一內容是內存使用情況。


在答覆評論:

爲100KB的,只是使用的XDocument或舊的XmlDocument

你可以得到所有節點與XElement.Descendants( 「TAG」)

var xmlData = XDocument.Load(filename); 
    var tags = xmlData.Descendants("TAG"); 
    foreach(var tag in tags) ... 
2

在我看來這是個人偏好。就我個人而言,我已經使用了Xmlldocument而不是XmlTextReader,因爲我發現它更容易處理。我已經轉移到使用LINQ到XML現在,因爲它使用的XDocument它允許節點更容易閱讀和元素

有這家5分鐘的介紹,以LINQ到XML的讀,因爲它是一個更容易使用和閱讀http://www.hookedonlinq.com/LINQtoXML5MinuteOverview.ashx