作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在修改一些遗留代码以尝试消除警告。 XmlDataDocument
和 XslTransform
都会生成它们已过时的警告。对于 XslTransform
,建议的替换是 XslCompiledTransform
,但对于 XmlDataDocument
没有建议替换。
如何更改此代码以消除 .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 doc = new XDocument();
using (XmlWriter xw = doc.CreateWriter())
{
myDataSet.WriteXml(xw);
xw.Close();
}
XslCompiledTransform proc = new XslCompiledTransform();
using (XmlReader xr = XmlReader.Create(myMemoryStream))
{
proc.Load(xr);
}
string result;
using (StringWriter sw = new StringWriter())
{
proc.Transform(doc.CreateNavigator(), null, sw); // needs using System.Xml.XPath;
result = sw.ToString();
}
我觉得应该。当然,我只使用 MemoryStream 加载样式表,使用 StringWriter 将转换结果发送到您的代码片段中。通常还有其他输入源或输出目标,如文件、流或 Textreader。
关于c# - XmlDataDocument 和 XslTransform 的未弃用替代品是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12201627/
我正在修改一些遗留代码以尝试消除警告。 XmlDataDocument 和 XslTransform 都会生成它们已过时的警告。对于 XslTransform,建议的替换是 XslCompiledTr
我在已从 .NET 2.0 升级到 .NET 4.0 的 Web 表单应用程序中有一个 System.Web.UI.WebControls.Xml 控件 (Xml1) 我从代码隐藏页面收到两条警告,我
我是一名优秀的程序员,十分优秀!