【问题标题】:How do I use XslCompiledTransform when input XML and transform XSL are strings. How do I get the transformation result as a string?当输入 XML 和转换 XSL 是字符串时,如何使用 XslCompiledTransform。如何将转换结果作为字符串获取?
【发布时间】:2013-04-29 23:45:22
【问题描述】:

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

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

【问题讨论】:

    标签: xslt transformation xslcompiledtransform


    【解决方案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 似乎有点愚蠢……但这对我有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-24
    • 1970-01-01
    • 2011-01-10
    • 1970-01-01
    • 2015-05-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多