2010-09-20 5 views
14

Mam kontroli System.Web.UI.WebControls.Xml (Xml1) w app WebForms że mam zmodernizowane z .NET 2.0 do .NET 4.0Zastąpienie przestarzałego pliku System.Xml.XmlDataDocument?

Dostaję dwa ostrzeżenia z opóźnieniem kodu strony, która Chciałbym coś z tym zrobić.

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

Z drugiej linii pojawia się ostrzeżenie:

'System.Xml.XmlDataDocument' jest przestarzały: 'Klasa XmlDataDocument zostanie usunięta w przyszłych wydaniach'.

A z trzeciej linii pojawia się ostrzeżenie:

'Public Property dokument jako System.Xml.XmlDocument' jest przestarzały: „Zalecaną alternatywą jest własnością XPathNavigator. Utwórz plik System.Xml.XPath.XPathDocument i wywołaj CreateNavigator(), aby utworzyć XPathNavigator.

Jaki jest zalecany zamiennik .NET 4.0?

Odpowiedz

1

Użyj Linq2XML - jest o wiele potężniejszy niż inne narzędzia XML .... pozwala na wysyłanie zapytań i tworzenie/odczytywanie/aktualizowanie/usuwanie (CRUD) XML, tak jak w przypadku zbioru danych lub innych danych o silnym typie danych źródło.

Gdy zaczniesz pracę z Linq, nigdy nie wrócisz do dawnych sposobów ... to absolutnie kołysze!

22

ds.Ja też wystąpił ten problem z wersją 3.5. Oto, co wymyśliłem:

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

Mam nadzieję, że to pomaga.

+0

Użyłem twojego rozwiązania i to rozwiązało mój problem. –

+6

Następnie możesz oznaczyć to jako odpowiedź? – Sung

+0

@ Sung Inna osoba, więc nie może – andrewb