当输入XML和转换XSL是字符串时,如何使用XslCompiledTransform。如何将转换结果作为字符串获取?

时间:2013-05-06 08:43:44

标签: xslt transformation xslcompiledtransform

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

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

1 个答案:

答案 0 :(得分:19)

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