Замена устаревшего System.Xml.XmlDataDocument?

У меня есть элемент управления System.Web.UI.WebControls.Xml(Xml1) в приложении webforms, которое я обновил с .NET 2.0 до .NET 4.0

Я получаю два предупреждения из страницы с кодом, о которой я хотел бы что-то сделать.

... 
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

ds.I столкнулся с этой проблемой и с 3.5. Вот что я придумал:

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

Надеюсь, что это поможет.

Ответ 2

Использовать Linq2XML - он более мощный, чем любой другой инструмент XML... позволяет вам запрашивать и создавать/читать/обновлять/удалять (CRUD) XML так же, как и набор данных или другой сильно типизированный источник данных.

Как только вы начнете с Linq, вы никогда не вернетесь к старым путям... это абсолютно потрясает!