将XML从XSLT传递到c#函数



我得到一个包含完整xml的XSLT变量resultxml。现在我想把这个XML保存到一个XML文件中。

我写了一些这样的代码在XSLT

  <xsl:value-of select="XSLTHelper:SaveXML($resultxml)"/>
用c#

public static void SaveXML(string xmls)
{
    File.WriteAllText( HttpContext.Current.Server.MapPath("~/App_Data/missing_data.xml"), xmls.ToString());
}

数据保存正确,但不是XML格式,只是一个字符串值。是否有任何方法可以维护我的XML结构并将其保存在File中?

假设您从XSLT传入一些节点而不是字符串,您可能想尝试是否使用

public static void SaveXML(XPathNodeIterator nodes)
{
  foreach (XPathNavigator node in nodes)
  {
    using (XmlWriter xw = XmlWriter.Create(HttpContext.Current.Server.MapPath("~/App_Data/missing_data.xml")))
    {
       node.WriteSubtree(xw);
    }
  }
}

代替public static void SaveXML(string xmls)可以得到您想要的结果。当然,我发布的代码,写到一个单一的文件是一种无稽之谈,如果你真的在几个节点传递到你的功能,但假设你在一个节点传递它应该写到文件HttpContext.Current.Server.MapPath("~/App_Data/missing_data.xml")

相关内容

  • 没有找到相关文章

最新更新