当输入 XML 和转换 XSL 是字符串时,如何使用 XslCompiledTransform。如何将转换结果作为字符串获取?
Posted
技术标签:
【中文标题】当输入 XML 和转换 XSL 是字符串时,如何使用 XslCompiledTransform。如何将转换结果作为字符串获取?【英文标题】:How do I use XslCompiledTransform when input XML and transform XSL are strings. How do I get the transformation result as a string? 【发布时间】:2013-04-29 23:45:22 【问题描述】:我有一个字符串 inputXMLString,第二个包含名为 transformXSLString 的转换 XSL。它们都是正确格式化的xml。
如何在 C# 中使用 XslCompiledTransform 执行转换,以便将结果也作为字符串获取,比如说 resultXMLString?
【问题讨论】:
【参考方案1】:可以分别使用XmlReader和StringReader StringWriter:
string inputXML = "...";
string transformXSL = "...";
XslCompiledTransform proc = new XslCompiledTransform();
using (StringReader sr = new StringReader(transformXSL))
using (XmlReader xr = XmlReader.Create(sr))
proc.Load(xr);
string resultXML;
using (StringReader sr = new StringReader(inputXML))
using (XmlReader xr = XmlReader.Create(sr))
using (StringWriter sw = new StringWriter())
proc.Transform(xr, null, sw);
resultXML = sw.ToString();
【讨论】:
谢谢!必须创建一个 stringreader 然后一个 xmlreader 然后 stringwriter 似乎有点愚蠢……但这对我有用。以上是关于当输入 XML 和转换 XSL 是字符串时,如何使用 XslCompiledTransform。如何将转换结果作为字符串获取?的主要内容,如果未能解决你的问题,请参考以下文章