1

我得到了一个resultxml包含完整 xml 的 XSLT 变量。现在我想将此 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 结构并将其保存在文件中?

4

1 回答 1

0

假设您从 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")

于 2013-05-02T09:37:10.167 回答