2012-08-14 87 views
0

我目前有一个字符串构建器,它从内存中的XSLT转换中获取输出。我遇到的问题是,当我将字符串生成器.ToString()转换为返回内容时,它将所有引号更改为\",例如。 <?xml version=\"1.0\" encoding=\"utf-16\"?>,然后这导致问题重新加载数据到XDocument字符串构建器输出

StringBuilder OutputXML = new StringBuilder(); 
XSLTTransformer.Transform(XmlDoc.CreateReader(), writer); 
return OutputXML.ToString(); 

我试过.Replace("\\\"", "")然而,这是不行的,所以我怎么能阻止/替换这些occurances并只保留字符串作为"所以输出<?xml version="1.0" encoding="utf-16"?>

+1

已经回答了,请看[这里](http://stackoverflow.com/questions/1629127/how-to-converting-string-builder-to-string-without-escape-sequence-in-the-conver)和[这里](http://stackoverflow.com/questions/7348423/how-to-remove-escape-sequences-from-stream) – 2012-08-14 08:00:50

+0

你是100%确定这导致问题? – Reniuz 2012-08-14 08:02:55

+1

啊,是的遗憾马克错过了那些徘徊谷歌,不同的搜索条件。 – Mike 2012-08-14 08:07:03

回答

3

你怎么看这个字符串?

因为听起来好像你可能正在调试器中看到它,调试器将'''表示为'\''。

所以字符串本身很好,如果呈现给用户,保存到文件等,它将正常工作。它只是看起来在调试器中转义。

+0

是的,我似乎陷入了那个,只是运行输出到控制台,它很好>。< – Mike 2012-08-14 08:08:46

+0

别担心,你不是第一个人,你不会是最后一个。 – 2012-08-14 08:57:19

0

\"只是一个转义序列到"

在串中的"只不过显示了调试器的方式。所以不用担心。