xslt - 当输入 XML 和转换 XSL 是字符串时,如何使用 XslCompiledTransform。如何以字符串形式获取转换结果?

标签 xslt transformation xslcompiledtransform

我有一个字符串 inputXMLString,第二个包含名为 transformXSLString 的转换 XSL。它们都是正确格式化的 xml。

如何在 C# 中使用 XslCompiledTransform 执行转换,以便将结果也作为字符串,比如说 resultXMLString?

最佳答案

您可以分别使用 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();
    }
  }
}

关于xslt - 当输入 XML 和转换 XSL 是字符串时,如何使用 XslCompiledTransform。如何以字符串形式获取转换结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16395042/

相关文章:

c# - Xsl 转型新线

xml - 在同一级别对元素进行分组

c - iptables-restore v1.4.12 : iptables. xslt 创建错误输出:无法加载匹配 `ptcp'

java - 根据两点匹配图像

java - 链接多个 Transformations.switchMap 关闭一个 LiveData 源

java - 创建变换以从一个矩形映射到另一个矩形?

c# - XslCompiledTransform 换行符,如何输入它们?

xslt - 合并多个 xslt 样式表

xslt - 检查属性等于值的节点是否存在

.net - XslTransform 与 XslCompiledTransform