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 に答える