Замена устаревшего System.Xml.XmlDataDocument? - PullRequest
17 голосов
/ 20 сентября 2010

У меня есть элемент управления System.Web.UI.WebControls.Xml (Xml1) в приложении веб-форм, которое я обновил с .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 будет удален в следующем выпуске».

А из третьей строки я получаю предупреждение:

«Public Property Document As System.Xml.XmlDocument» устарел: «Рекомендуемая альтернатива - это свойство XPathNavigator. Создайте System.Xml.XPath.XPathDocument и вызовите CreateNavigator () для создания XPathNavigator.

Какая рекомендуемая замена .NET 4.0 для этого?

Ответы [ 2 ]

26 голосов
/ 31 декабря 2010

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

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

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

2 голосов
/ 06 декабря 2010

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

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

...