2010-07-10 95 views
5

我正在嘗試在xml上進行處理,而且我非常厭煩與Xml命名空間類一起工作。 我發現真的很難。LinqToXml或Xml?

所以我試圖用LinqtoXml類做同樣的事情,我看到許多可能與LinqtoXml而不是Xml類的東西。所以我真的很困惑,我不得不使用。

何時以及爲什麼你喜歡Xml類而不是LinqtoXml類?

編輯:

什麼是不可能的LinqToXml做的時候就可以使用XML類?

+0

L2X是一種訪問XML的更簡單的方法。我不知道有什麼區別,但我很想知道是否有任何區別。我始終使用Linq 2 SQL,它大大減少了構建DAL的工作量,而且我也不知道有哪些差異。 – 2010-07-10 20:27:25

+0

在使用L2X時,您從來不需要Xml類,這就是說L2X能夠支持Xml – Freshblood 2010-07-10 20:40:15

+0

的一切或許多事情,這不是真的(請參閱我的回答) – 2010-07-10 20:49:44

回答

8

從.NET Framework的第一個版本開始,就可以使用用於操作和處理XML數據的一般方法。 Linq從.NET Framework 3.5開始可用。如果您定位舊版本的.NET Framework,那麼這就是使用普通Xml類的原因之一。

Linq to Xml也有不同的方法。它更多的是查詢XML數據,而不是閱讀它。所以在某些情況下,Linq to Xml將是最簡單的做事方式,但每隔的情況並非如此。如果一個不熟練的開發人員使用Linq to Xml,這可能也是一件壞事:它就是,恕我直言,使用Linq而不是沒有用於生成具有巨大性能問題的代碼要容易得多。

3

只在LINQ合作,XML空間是良好的查詢(在Q在LINQ),以及投影原始的XML數據轉換成結構,但它在某些情況下,笨拙,不可能在別人直接操縱XML。

有人可以說,在許多情況下,這仍然是一件好事,因爲不變性確實減少了某些類型錯誤的機會,但它肯定會產生成本 - 並非完全符合每種情況,有時甚至是性能。