欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C# XML中的转义字符操作

程序员文章站 2022-10-01 19:38:01
c# xml中 <、 > 等转义字符转为 <、>等符号using system.io;using system.xml;public string toxml(...

c# xml中 &lt;、 &gt; 等转义字符转为 <、>等符号

using system.io;
using system.xml;
public string toxml(string str)
  {
   stringreader reader = new stringreader(str);
   xmldocument xml = new xmldocument();
   xml.load(reader);
   return xml.innertext.tostring();
   
  }

c# xml中<、>等符号转为 &lt;、 &gt; 等转义字符

using system.io;
using system.runtime.serialization;
public string toxml(string str)
  {
   using (memorystream ms = new memorystream())
   {
    xmlobjectserializer sz = new datacontractserializer(obj.gettype());
    sz.writeobject(ms, str);
    string res = encoding.utf8.getstring(ms.toarray());
    return res;
   }
  }

补充:c#中的转义字符和verbatim字符串

c#中的转义字符跟c/c++的定义一致。有以下常用转移字符:

转义字符

字符名称

\'

单引号

\"

双引号

\\

反斜杠

\0

空字符

\a

警报符

\b

退格

\f

换页

\n

换行

\r

回车

\t

水平制表

\v

垂直制表

verbatim字符串

对于verbatim字符串,编译 器会严格按照原样对其进行解释。也就是说,即使这个字符串跨越多行,或是包含转义字符,编译器也将不予理会,即这些格式和转义符将按照原样输出。

唯一例外的是引号,编译器必须将其转义,因为只有这样才能确定字符串的边界。

verbatim字符串的定义语法为以@符号开始,后面紧跟包含在引号中的字符串。

例如:

string sample = @"hello";
string sample = @"hello\tworld"; //生成hello\tworld

以下是一个实用的示例:

string sample=@"c:\my documents\sample.txt";
//结果为:c:\my documents\sample.txt,如同语句:string sample="c:\\my documents\\sample.txt"

若想在verbatim字符串内使用引号,必须使用附加的引号组将其转义。例如,生成字符串"hi"的代码如下:

string s=@" " "hi"""; //注意:两边都有3个引号

上述代码将生成下列字符串:

"hi"

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。