/// <summary>
/// 將部分無效字元替換成空
/// </summary>
/// <param name="responseXml">Gta伺服器Response後返回的Xml資料</param>
/// <returns>string</returns>
private string ConvertHex(string responseXml)
{
UTF8Encoding encoding = new UTF8Encoding();
Byte[] responseByteArr = encoding.GetBytes(responseXml);
for (int i = 0; i < responseByteArr.Length; i++)
{
if (responseByteArr[i] < 32)
{
responseByteArr[i] = 32;
}
}
return encoding.GetString(responseByteArr);
}
=======================================
convertXml主要用於,XML 名稱及與xsd配合使用轉用相磁類型
以下轉自msdn
對 XML 名稱進行編碼和解碼並提供方法在公用語言類型庫類型和 XML 結構定義語言 (XSD) 類型之間進行轉換。當轉換資料類型時,返回的值是獨立於地區設定的。
根據位於 www.w3.org/TR/2000/REC-xml-20001006.html 的可延伸標記語言 (XML) (XML) 1.0(第二版)建議,元素和屬性名稱或 ID 值限於一系列 XML 字元。當名稱包含無效字元時,EncodeName 和 DecodeName 方法用於將它們轉換為有效 XML 名稱。
許多語言和應用程式(例如 Microsoft SQL Server 和 Microsoft Word)允許在它們的名稱中使用 Unicode 字元,這些字元在 XML 名稱中是無效的。例如,如果“Order Detail”是資料庫中的一個欄位標題,則資料庫允許在單詞 Order 和 Detail 之間使用空格。但是,在 XML 中,Order 和 Detail 之間的空格將被視為無效的 XML 字元。這樣,需要將該空格(一個無效的字元)轉換為轉義的十六進位編碼,並可在以後對該編碼進行解碼。
可以將 EncodeName 方法和 XmlWriter 類一起使用來確保正在書寫的名稱是有效 XML 名稱。下面的 C# 代碼將名稱“Order Detail”轉換為有效 XML 名稱並編寫元素 <Order_0x0020_Detail>My order</Order_0x0020_Detail>。
|
複製代碼 |
writer.WriteElementString(XmlConvert.EncodeName("Order Detail"),"My order"); |
XmlConvert 還提供了使您能夠在字串和 .NET Framework 資料類型之間進行相互轉換的方法。在資料轉換過程中不考慮地區設定。資料類型基於 XML 結構描述 (XSD) 資料類型。