Sto modificando alcuni codici legacy per provare a eliminare gli avvisi. XmlDataDocument
e XslTransform
generano entrambi degli avvisi che sono obsoleti. Nel caso di XslTransform
la sostituzione suggerita è XslCompiledTransform
, ma non è consigliata alcuna sostituzione per XmlDataDocument
.Qual è l'alternativa non deprecata a XmlDataDocument e XslTransform?
Come posso modificare il codice per eliminare gli avvertimenti in .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);
Hai ragione che 'XDocument' non implementa' IXPathNavigable' come pensavo ma esiste un metodo di estensione per creare un 'XPathNavigator' da' XDocument': http://msdn.microsoft.com/en-us/library /bb299124.aspx. Per quanto riguarda la trasformazione in 'TextWriter' o' StringWriter', è necessario: http://msdn.microsoft.com/en-us/library/ms163435.aspx. –
Grazie mille Martin, questa soluzione ha funzionato su più sezioni del vecchio codice. –
Martin, 'XDocument' non ha un metodo' CreateNavigator', ma 'XslCompiledTransform.Transform' ha un overload che accetta un' XmlReader', invece, e puoi usare 'XDocument.CreateReader' per ottenere un lettore adatto da passare a esso. –