gpt4 book ai didi

c# - XmlDataDocument 和 XslTransform 的未弃用替代品是什么?

转载 作者:太空狗 更新时间:2023-10-29 18:27:31 26 4
gpt4 key购买 nike

我正在修改一些遗留代码以尝试消除警告。 XmlDataDocumentXslTransform 都会生成它们已过时的警告。对于 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com