C# XML中的轉義字元操作
阿新 • • 發佈:2021-01-14
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"
以上為個人經驗,希望能給大家一個參考,也希望大家多多支援我們。如有錯誤或未考慮完全的地方,望不吝賜教。