gpt4 book ai didi

c# - 使用换行符将 xml 字符串读入文本框

转载 作者:数据小太阳 更新时间:2023-10-29 01:49:44 25 4
gpt4 key购买 nike

我有一个带有成员“地址”的类,我从具有以下格式的 XML 文件中读取它(假地址 - XML 字段名称是“地址” - 未显示):

106-1190 Crescent St.\r\n Toronto Ont\r\n V2K 2Z6

我创建了一个多行文本框,以在 Accepts-Return 属性设置为 true 的表单中显示。

文本框显示以下换行符不起作用

106-1190 Crescent St.\r\n Toronto Ont\r\n V2K 2Z6

我在网上寻找各种解决方案,并尝试了以下方法:

1)\n 和\\n

2)\\r\\n

如果我像这样直接添加到属性,它会起作用:

Address.Text = "106-1190 Crescent St.\r\nToronto Ont\r\nV2K 2Z6";

但是如果我从 XML 文件加载一个字符串变量并尝试将其分配给 Text 属性:

Address.Text = Employee.Address;

它不起作用。

我设置观察点来检查直接赋值和变量赋值之间的差异,并得到了这个差异:

直达:106-1190 Crescent St.\r\n Toronto Ont\r\n V2K 2Z6

变量:106-1190 Crescent St.\\r\\n Toronto Ont\\r\\n V2K 2Z6

所以在从 XML 字符串转换为变量的过程中,代码在某处将反斜杠更改为双反斜杠。

我真的不想解析我的 XML 字符串来删除多余的斜杠....我如何在 XML 文件中表示我的字符串数据,以便仅使用一个斜杠将其转换为正确的字符串变量,以便正确显示我的换行符。

提前致谢。

最佳答案

文本框控件不解释转义符,也不解释 XML。所以这只是字符\r 和 n。您需要处理该字符串,将字符串 @"\r\n"替换为 "\r\n"。

Address.Text = Employee.Address.Replace(@"\r\n", "\r\n");

这等价于此

Address.Text = Employee.Address.Replace("\\r\\n", "\r\n");

因为 @ 阻止解释字符串中的\。

编辑:根据评论,这是更好的形式,它在 unix 上转换为\n,在 Windows 上转换为\r\n。

Address.Text = Employee.Address.Replace("\\r\\n", Environment.NewLine);

关于c# - 使用换行符将 xml 字符串读入文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2214620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com