C# 分隔双引号以替换XML字符

C# 分隔双引号以替换XML字符,c#,xml,asp.net-mvc,escaping,export-to-excel,C#,Xml,Asp.net Mvc,Escaping,Export To Excel,我正在使用在CodeProject上找到的模板Excel导出类 在这个类中,有一种方法可以替换某些字符,使它们在Excel中更安全。然而,下面这行代码似乎让系统绊倒了,因为它删除了分隔的\“引号,并将其替换为一个双引号 input = input.Replace("\"", """); 如果我再次对此进行界定,则: input = input.Replace("\"", "\""); 它违背了替换的目的,如果我保持原样,班上的其他同学会绊倒,因为它是一根未闭合的绳子。以前有人遇到过这个问题

我正在使用在CodeProject上找到的模板Excel导出类

在这个类中,有一种方法可以替换某些字符,使它们在Excel中更安全。然而,下面这行代码似乎让系统绊倒了,因为它删除了分隔的\“引号,并将其替换为一个双引号

 input = input.Replace("\"", """);
如果我再次对此进行界定,则:

input = input.Replace("\"", "\"");
它违背了替换的目的,如果我保持原样,班上的其他同学会绊倒,因为它是一根未闭合的绳子。以前有人遇到过这个问题,或者有什么想法来解决这个问题吗

谢谢,
Steve

我强烈建议您不要只使用本文的代码。它看起来没有正确显示(我怀疑它应该是
替换(“\”,“”)
),但即使它是正确的,也不是好代码

相反,使用XMLAPI-LINQtoXML非常容易使用,这样您就不需要自己进行任何XML转义


您几乎不应该通过将XML文档视为简单文本来创建它们。相反,始终使用XML API,这是一种更干净的方法,可以确保您最终创建有效的XML。

我强烈建议您不要只使用本文的代码。它看起来没有正确显示(我怀疑它应该是
Replace(\,“”))
,但即使它是正确的,也不是好代码

相反,使用XMLAPI-LINQtoXML非常容易使用,这样您就不需要自己进行任何XML转义


您几乎不应该通过将XML文档视为简单文本来创建它们。相反,始终使用XML API,这是一种更干净的方法,可以确保您最终创建有效的XML。

三重双引号示例甚至不会编译-您能澄清您要替换的内容吗?您的意思是要将“\\\”替换为“\”“那么,需要用这种方法来移除\"退出在早期阶段实现并附加到字符串编写器的XML,然后在下载文件之前删除,否则Excel的XML解析将出现问题..我将尝试您的建议,谢谢这个三重双引号示例甚至不会编译-您能澄清您要替换的内容吗?您的意思是想要吗将“\\\”替换为“\\”?需要使用该方法来删除\"退出在早期阶段实现并附加到字符串编写器的XML,在下载文件之前需要删除,否则Excel的XML解析会出错..我会试试你的建议,谢谢,我会检查一下,因为我感觉XML中的问题比just引号转义…@StephenLeake:没错。这就是尝试使用简单字符串操作进行XML的问题-如果不小心,可能会出现各种问题。始终使用XML API。谢谢,我会检查它,因为我感觉XML中存在的问题比引号中的问题更多ing…@StephenLeake:没错。这就是试图用简单的字符串操作生成XML的问题——如果不小心,可能会出现各种各样的问题。始终使用XML API。