形成带双引号的字符串的问题

时间:2012-08-31 05:31:46

标签: c# asp.net string

我想将字符串形成为<repeat><daily dayFrequency="10" /></repeat>

其中""中的值来自上面字符串10中的textboxe.g。我在C#中形成了字符串

@"<repeat><daily dayFrequency=""+ txt_daily.Text + "" /></repeat>"但我得到的输出为

<repeat><daily dayFrequency="+ txt_daily.Text+ " /></repeat>。如何形成一个字符串,其中包含来自文本框的输入以及要包含在该字符串中的双引号。

4 个答案:

答案 0 :(得分:2)

要将一个字符串的值插入另一个字符串,您可以考虑string.Format

string.Format("foo {0} bar", txt_daily.Text)

这比字符串连接更具可读性。

但是我强烈建议不要自己构建XML字符串。使用您的代码,如果用户输入包含<符号的文本,则会导致XML无效。

使用XML库创建XML。

相关

答案 1 :(得分:0)

使用\反斜杠转义它。把@放在前面不会为你做

string str = "<repeat><daily dayFrequency=\"\"+ txt_daily.Text + \"\" /></repeat>";
Console.Write(str);

输出将是:

<repeat><daily dayFrequency=""+ txt_daily.Text + "" /></repeat>

答案 2 :(得分:0)

你可以这样做:

var str = String.Format(@"<repeat><daily dayFrequency="{0}" /></repeat>",
                        txt_daily.Text);

但最好有一个映射到这种格式的对象,serialize it to xml

答案 3 :(得分:0)

string test = @"<repeat><daily dayFrequency=" + "\"" + txt_daily.Text + "\"" + "/></repeat>";