我正在修改一些遺留代碼以嘗試消除警告。 XmlDataDocument
和XslTransform
都會生成警告,說明它們已過時。在XslTransform
的情況下,建議的替換爲XslCompiledTransform
,但不建議替換爲XmlDataDocument
。什麼是XmlDataDocument和XslTransform的不推薦使用的替代方法?
我怎樣才能改變這種代碼,以消除在.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);
你說得對,'XDocument'沒有像我想的那樣實現'IXPathNavigable',但是有一個擴展方法可以從'XDocument'創建'XPathNavigator':http://msdn.microsoft.com/en-us/library /bb299124.aspx。至於轉換爲'TextWriter'或'StringWriter',應該這樣做:http://msdn.microsoft.com/en-us/library/ms163435.aspx。 –
非常感謝Martin,此解決方案適用於舊代碼的多個部分。 –
Martin,'XDocument'沒有'CreateNavigator'方法,但'XslCompiledTransform.Transform'有一個接受'XmlReader'的重載,您可以使用'XDocument.CreateReader'來獲得一個合適的閱讀器傳遞給它。 –