繁体   English   中英

将XML从XSLT传递到C#函数

[英]Passing XML from XSLT to C# function

我有一个XSLT变量resultxml ,其中包含完整的xml。 现在,我想将此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")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM