C# 如何在C语言中将SVG字符串写入文件#

C# 如何在C语言中将SVG字符串写入文件#,c#,svg,C#,Svg,我有一个SVG字符串,我想将其作为SVG文件保存到带有C#的服务器。我正在使用以下代码: var guid = Guid.NewGuid().ToString("N"); Directory.CreateDirectory(AppSettings.ExportFolderPath.TrimEnd('\\') + String.Format("\\{0}\\svg", guid)); var svgFile = Path.Combine(AppSettings.ExportFolderPath.T

我有一个SVG字符串,我想将其作为SVG文件保存到带有C#的服务器。我正在使用以下代码:

var guid = Guid.NewGuid().ToString("N");
Directory.CreateDirectory(AppSettings.ExportFolderPath.TrimEnd('\\') + String.Format("\\{0}\\svg", guid));
var svgFile = Path.Combine(AppSettings.ExportFolderPath.TrimEnd('\\') + String.Format("\\{0}\\svg\\graph.svg", guid));

File.WriteAllText(svgFile, svg);
在最后一行,我将svg字符串写入文件,但当我打开生成的文件时,它不是svg,似乎是垃圾文本

例:

我使用的SVG应该正确格式化,因为它直接来自浏览器(并且在发送到C#之前正确显示)。以下是生成的SVG的一个片段:

编辑:

下面是调用File.WriteAllText时svg变量的图像

编辑2:
JSBin中的svg与svg变量完全相同。在检查输出svg文件后,它确实被写入了该文件。由于某些原因,它无法正确打开。这不是我所认为的C#writealText问题。

SVG字符串确实正确写入了输出文件。使用inkscape打开文件时,它看起来与预期的一样(在浏览器中打开最初不起作用)


谢谢你的建议

代码的任何部分都与文件内容无关。请在调试器的
file.WriteAllText(svgFile,svg)行添加
svg
变量在调试器中的外观的屏幕截图?您是否检查了
svg
变量的内容,以确定它是否实际包含您期望的数据?请发布文本而不是文本图像。@SLaks您是指生成的svg文件吗?svg变量包含写入文件的svg内容。