2010-09-20 11 views
14

Ho un controllo System.Web.UI.WebControls.Xml (xml1) in un'applicazione webforms che ho aggiornato da NET 2.0 a .NET 4.0Sostituzione del file System.Xml.XmlDataDocument obsoleto?

sto ottenendo due avvertimenti dal code-behind pagina Mi piacerebbe fare qualcosa riguardo

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

Dalla seconda linea ottengo l'avvertimento:

'System.Xml.XmlDataDocument' è obsoleta: 'classe XmlDataDocument verrà rimossa in una versione futura'.

E dalla terza linea ottengo l'avvertimento:

'Public Document Proprietà Come System.Xml.XmlDocument' è obsoleto: 'L'alternativa consigliata è di proprietà XPathNavigator. Creare un System.Xml.XPath.XPathDocument e chiamare CreateNavigator() per creare un XPathNavigator.

Qual è la sostituzione di .NET 4.0 consigliata per questo?

risposta

1

Utilizzare Linq2XML: è molto più potente di qualsiasi altro strumento XML .... consente di eseguire query e creare/leggere/aggiornare/eliminare (CRUD) l'XML proprio come si farebbe con un set di dati o altri dati fortemente tipizzati fonte.

Una volta iniziato con Linq, non tornerai mai ai vecchi modi ... è assolutamente incredibile!

22

ds. Ho avuto questo problema anche con 3.5. Ecco cosa mi è venuto in mente:

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

Spero che sia d'aiuto.

+0

Ho usato la soluzione e ha risolto il mio problema. –

+6

Quindi puoi contrassegnarlo come risposta? – Sung

+0

@Sung Persona diversa, quindi no non è possibile – andrewb

Problemi correlati