1. 程式人生 > 程式設計 >C# XML中的轉義字元操作

C# XML中的轉義字元操作

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"

以上為個人經驗,希望能給大家一個參考,也希望大家多多支援我們。如有錯誤或未考慮完全的地方,望不吝賜教。