首先,你好!这是我的第一篇文章!
我正在开发一个应用程序来读写串口,一切都运作得很好,但由于在我们公司中有不同类型的扫描仪,它们配置了不同的前缀/后缀字符,其中大多数都有\r\n序列。
因此,我决定将这个后缀包含在我的xml配置文件中,如下所示:
<rPortSuffix>\r\n</rPortSuffix>
当我阅读我的XML文件时,我使用这个。
case "rPortSuffix":
srPortSuffix = xmlReader.Value;
break;
问题在于,当将文本值传递给srPortSuffix时,变量存储的是"\\r\\n"而不是"\r\n",因此当我尝试读取串行端口时,由于错误的后缀字符串(对于NewLine常量),什么都没有发生。
spRead.NewLine = srPortSuffix; //NewLine constant read in XML file
sReadData = spRead.ReadLine(); //Storing the read data
所以我尝试了:
srPortSuffix= Regex.Replace(srPortSuffix, @"\\", @"\");
但是没有成功。有什么建议吗?
简洁版:
如何使从xml文件读取的“\r\n”值被精确地读取,而不是“\\r\\n”?
编辑:
如Jirka Hanika所建议的那样,我只是将字符串从“\r\n”更改为ascii代码,例如:
<rPortSuffix> </rPortSuffix>
现在我的应用程序已经可以与我测试的两种类型的扫描仪配合使用了。
谢谢!
\r\n
,但当您在调试器中查看该变量时,它将被转义。 - SwDevMan81