[英]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.