Estoy modificando algún código heredado para tratar de eliminar las advertencias. XmlDataDocument
y XslTransform
ambos generan advertencias de que están obsoletos. En el caso de XslTransform
, el reemplazo sugerido es XslCompiledTransform
, pero no se sugiere reemplazo para XmlDataDocument
.¿Cuál es la alternativa no obsoleta a XmlDataDocument y XslTransform?
Cómo se puede cambiar el código para eliminar las advertencias en .NET 4:
var xmlDoc = new System.Xml.XmlDataDocument(myDataSet);
var xslTran = new System.Xml.Xsl.XslTransform();
xslTran.Load(new XmlTextReader(myMemoryStream), null, null);
var sw = new System.IO.StringWriter();
xslTran.Transform(xmlDoc, null, sw, null);
Tiene razón en que 'XDocument' no implementa' IXPathNavigable' como yo pensaba, pero existe un método de extensión para crear un 'XPathNavigator' a partir de' XDocument': http://msdn.microsoft.com/en-us/library /bb299124.aspx. En cuanto a la transformación a un 'TextWriter' o' StringWriter', eso debería hacer: http://msdn.microsoft.com/en-us/library/ms163435.aspx. –
Muchas gracias Martin, esta solución funcionó en varias secciones del código anterior. –
Martin, 'XDocument' no tiene un método' CreateNavigator', pero 'XslCompiledTransform.Transform' tiene una sobrecarga que acepta un' XmlReader' en su lugar, y puede usar 'XDocument.CreateReader' para que un lector adecuado pase a eso. –