2010-09-20 331 views
14

我有一個System.Web.UI.WebControls.Xml控件(Xml1),我已經從.NET 2.0升級到.NET 4.0的webforms應用程序替換已廢棄的System.Xml.XmlDataDocument?

我從代碼隱藏頁面得到兩個警告:我想要做點什麼。

... 
Dim ds As DataSet = app.GetObjects 
Dim xmlDoc As New System.Xml.XmlDataDocument(ds) 
Xml1.Document = xmlDoc 
Xml1.TransformSource = "~/xslt/admin_objectslist.xslt" 
... 

從第二行我得到警告:

'System.Xml.XmlDataDocument' 已過時: 'XmlDataDocument類將在以後的版本中刪除'。

而從第三行我得到警告:

「公共財產文檔System.Xml.XmlDocument」已過時:「推薦的替代方案是XPathNavigator的屬性。創建一個System.Xml.XPath.XPathDocument並調用CreateNavigator()來創建一個XPathNavigator。

什麼是推薦的.NET 4.0替代品?

回答

1

使用Linq2XML - 它比任何其他XML工具都更強大....允許您查詢和創建/讀取/更新/刪除(CRUD)XML,就像數據集或其他強類型數據一樣資源。

一旦你開始使用Linq,你將永遠不會回到舊的方式......它絕對是岩石!

22

ds.我也遇到了3.5這個問題。這是我想出了:

XmlDocument xmlDoc = new XmlDocument(); 
xmlDoc.LoadXml(ds.GetXml()); 
xml1.XPathNavigator = xmlDoc.CreateNavigator();     
xml1.TransformSource = @"~/XSLT/LogEntryTransform.xslt"; 

希望它有幫助。

+0

我用你的解決方案,它解決了我的問題。 – 2011-07-28 09:02:28

+6

然後你可以將它標記爲答案嗎? – Sung 2011-11-23 19:18:37

+0

@Sung不同的人,所以他不能 – andrewb 2013-10-17 01:20:03

相關問題