XML十六進製制無效字元的處理

2021-04-29 01:29:29 字數 713 閱讀 1038

xml十六進製制無效字元的處理

在對生成的xml檔案進行xsd驗證時。提示「xml 十六進製制值是無效的字元」。請看如下截圖,如果出現這樣的文字(比如ascii列印字元等不可見字元)

而且這種字元即時使用cdatd也還是報錯的,所以必須使用替換的方式來實現,收集的網上**,不做具體的研究,如果你也碰到了。請copy吧:

效率是有問題的,但因為我只是完成生成xml資料,所以如果您使用請注意實際生產環境。

「」(十六進製制值 0x1d)是無效的字元

載入或儲存xml時引發的異常.system.argumentexception: 「」(十六進製制值 0x1d)是無效的字元。

產生原因是xml檔案中包含低位非列印字元造成的

處理方法:在產生xml檔案的時候,過濾低位非列印字元

把乙個字串中的 低序位 ascii 字元 替換成 &#x  字元

轉換  ascii  0 - 8  -> � -

轉換  ascii 11 - 12 -> -

轉換  ascii 14 - 31 -> -

XML 十六進製制值 是無效的字元錯誤 解決方法之一

過濾非列印字元 待過濾 過濾好的 private string replaceloworderasciicharacters string tmp return info.tostring 提示錯誤,錯誤資訊如下 十六進製制值 0x0b 是無效的字元錯誤 產生原因是xml檔案中包含低位非列印字元造成...

八進位制字元與十六進製制字元

在c中有兩種特殊的字元,八進位制轉義字元和十六進製制轉義字元,八進位制字元的一般形式是 ddd d是0 9的數字。十六進製制字元的一般形式是 xhh h是0 9或a f內的乙個。八進位制字元和十六進製制字元表示的是字元的ascii碼對應的數值。比如 063 表示的是字元 3 因為 3 的ascii碼...

十六進製制字元轉long

工程所需,從字元陣列中取對應位元組數,拼接為int 或者 long 8位元組 型返回。超出8位元組整型不考慮 拼接位元組轉化為long64 param1 陣列位址 param2 起始位元組下標 param3 結束位元組下標 return 拼接值 unsigned int64 hex2long byt...