C# XML中的转义字符操作
作者:长得帅性格好技术屌
这篇文章主要介绍了C# XML中的转义字符操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
C# XML中 <、 > 等转义字符转为 <、>等符号
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中<、>等符号转为 <、 > 等转义字符
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"
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
