2010-09-20 24 views
14

Tôi có một điều khiển System.Web.UI.WebControls.Xml (Xml1) trong ứng dụng webforms mà tôi đã nâng cấp từ .NET 2.0 lên .NET 4.0Thay thế System.Xml.XmlDataDocument lỗi thời?

Tôi nhận được hai cảnh báo từ trang mã sau Tôi muốn làm gì đó.

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

Từ dòng thứ hai tôi nhận được cảnh báo:

'System.Xml.XmlDataDocument' là lỗi thời: 'lớp XmlDataDocument sẽ được gỡ bỏ trong một thông cáo trong tương lai'.

Và từ dòng thứ ba tôi nhận được cảnh báo:

'Công Document tài sản Như System.Xml.XmlDocument' là lỗi thời: 'Việc thay thế được đề nghị là tài sản XPathNavigator. Tạo một tệp System.Xml.XPath.XPathDocument và gọi CreateNavigator() để tạo XPathNavigator.

Thay thế .NET 4.0 được khuyến nghị cho điều này là gì?

Trả lời

1

Sử dụng Linq2XML - cách này mạnh hơn bất kỳ công cụ XML nào khác .... cho phép bạn truy vấn và tạo/đọc/cập nhật/xóa (CRUD) XML giống như tập dữ liệu hoặc dữ liệu được nhập mạnh mẽ khác nguồn.

Khi bạn bắt đầu với Linq bạn sẽ không bao giờ quay trở lại những cách cũ ... nó hoàn toàn đá!

22

ds.Tôi cũng gặp sự cố này với 3.5. Dưới đây là những gì tôi đã đưa ra:

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

Hy vọng điều đó sẽ hữu ích.

+0

Tôi đã sử dụng giải pháp của bạn và giải quyết được sự cố của tôi. –

+6

Sau đó, bạn có thể đánh dấu nó là câu trả lời không? – Sung

+0

@Sung Người khác, vì vậy không, anh ấy không thể – andrewb

Các vấn đề liên quan