我得到一个包含完整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")
。