2010-09-20 30 views
14

que tienen un control System.Web.UI.WebControls.Xml (Xml1) en una aplicación de formularios web que he actualizado desde 2.0 a .NET .NET 4.0Reemplazar el System.Xml.XmlDataDocument obsoleto?

estoy recibiendo dos advertencias de la página de código subyacente que Me gustaría hacer algo al respecto.

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

partir de la segunda línea de recibo el aviso:

'System.Xml.XmlDataDocument' es obsoleto: 'XmlDataDocument clase se quitará en una versión futura'.

Y a partir de la tercera línea de recibo el aviso:

'Documento Público de la Propiedad Como System.Xml.XmlDocument' es obsoleto: 'La alternativa recomendada es la propiedad XPathNavigator. Cree un System.Xml.XPath.XPathDocument y llame a CreateNavigator() para crear un XPathNavigator.

¿Cuál es el reemplazo recomendado de .NET 4.0 para esto?

Respuesta

1

Utilice Linq2XML - es mucho más poderoso que cualquiera de las otras herramientas XML .... le permite consultar y crear/leer/actualizar/eliminar (CRUD) el XML como lo haría con un conjunto de datos u otros datos fuertemente tipados fuente.

Una vez que comience con Linq, nunca volverá a las viejas costumbres ... ¡es una maravilla!

22

ds.Me encontré con este problema también con 3.5. Esto es lo que se me ocurrió:

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

Espero que ayude.

+0

Utilicé su solución y resolvió mi problema. –

+6

¿Entonces puede marcarlo como respuesta? – Sung

+0

@Sung Persona diferente, entonces no, él no puede – andrewb