C# XML中的轉(zhuǎn)義字符操作
C# XML中 <、 > 等轉(zhuǎn)義字符轉(zhuǎn)為 <、>等符號(hào)
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中<、>等符號(hào)轉(zhuǎn)為 <、 > 等轉(zhuǎn)義字符
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;
}
}
補(bǔ)充:C#中的轉(zhuǎn)義字符和Verbatim字符串
C#中的轉(zhuǎn)義字符跟C/C++的定義一致。有以下常用轉(zhuǎn)移字符:
|
轉(zhuǎn)義字符 |
字符名稱(chēng) |
|
\' |
單引號(hào) |
|
\" |
雙引號(hào) |
|
\\ |
反斜杠 |
|
\0 |
空字符 |
|
\a |
警報(bào)符 |
|
\b |
退格 |
|
\f |
換頁(yè) |
|
\n |
換行 |
|
\r |
回車(chē) |
|
\t |
水平制表 |
|
\v |
垂直制表 |
Verbatim字符串
對(duì)于verbatim字符串,編譯 器會(huì)嚴(yán)格按照原樣對(duì)其進(jìn)行解釋。也就是說(shuō),即使這個(gè)字符串跨越多行,或是包含轉(zhuǎn)義字符,編譯器也將不予理會(huì),即這些格式和轉(zhuǎn)義符將按照原樣輸出。
唯一例外的是引號(hào),編譯器必須將其轉(zhuǎn)義,因?yàn)橹挥羞@樣才能確定字符串的邊界。
Verbatim字符串的定義語(yǔ)法為以@符號(hào)開(kāi)始,后面緊跟包含在引號(hào)中的字符串。
例如:
string sample = @"Hello"; string sample = @"Hello\tworld"; //生成Hello\tworld
以下是一個(gè)實(shí)用的示例:
string sample=@"C:\My Documents\sample.txt"; //結(jié)果為:C:\My Documents\sample.txt,如同語(yǔ)句:string sample="C:\\My Documents\\sample.txt"
若想在Verbatim字符串內(nèi)使用引號(hào),必須使用附加的引號(hào)組將其轉(zhuǎn)義。例如,生成字符串"Hi"的代碼如下:
String s=@" " "Hi"""; //注意:兩邊都有3個(gè)引號(hào)
上述代碼將生成下列字符串:
"Hi"
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

