在 CDATA 節中找到無效的 XML 字元 (Unicode: 0x1f)
在 CDATA 節中找到無效的 XML 字元 (Unicode: 0x1f)
解析XML檔案時,會碰到程式發生以下一些異常資訊:
在 CDATA 節中找到無效的 XML 字元 (Unicode: 0x1f)。
或者:
An invalid XML character (Unicode: 0x1f) was found in the CDATA section.
這些錯誤的發生是由於一些不可見的特殊字元的存在,而這些字元對於XML檔案來說又是非法的,所以XML解析器在解析時會發生異常,官方定義了XML的無效字元分為三段:
0x00 - 0x08
0x0b - 0x0c
0x0e - 0x1f
解決方法是:在解析之前先把字串中的這些非法字元過濾掉即可, 不會影響原來文字的內容。
即:string.replaceAll("[\\x00-\\x08\\x0b-\\x0c\\x0e-\\x1f]", "") ;
另外:這些字元即使放在CDATA中仍然解析不了,所以最好的辦法是過濾掉。
相關推薦
在 CDATA 節中找到無效的 XML 字元 (Unicode: 0x1f)
在 CDATA 節中找到無效的 XML 字元 (Unicode: 0x1f) 解析XML檔案時,會碰到程式發生以下一些異常資訊: 在 CDATA 節中找到無效的 XML 字元 (Unicode: 0x1f)。 或者: An invalid XM
解析XML檔案時,無效的XML 字元 (Unicode: 0x7)異常處理
報錯資訊: 2015-01-29 00:10:22,075 ERROR commonapi.CommonApiAction - errorCode:5000,5000-00;Description:程式異常。Error on line 1 of document :
python實現從字串中找出特定字元的位置以及個數的方法
python實現從字串中找出特定字元的位置以及個數的方法 本文例項主要實現給出任意字串,獲取字串中某字元的位置以及出現的總次數。 實現該功能程式碼的時候可以使用函式enumerate來將字串分離成位置和字元,然後進行比較即可。 具體實現程式碼如下: #!/b
【Windows】XP 安裝軟體出現 “錯誤1324 資料夾路徑"My documents"中含無效的字元”
方法一、將“My documents”和“My Pictures”搜尋的到的所有登錄檔項的D盤改為C盤存在的路徑方法二、使用DiskGenius建立D盤。如果D盤是DVD\CD 驅動器,請先將DVD\C
【C語言】自己編寫程式實現strrchr函式,即在給定字串中找特定的字元並返回最後出現的位置
//自己編寫程式實現strrchr函式,即在給定字串中找特定的字元並返回最後出現的位置 #include <stdio.h> #include <string.h> char
【C語言】自己編寫程式實現strchr函式。即在給定字串中找特定的字元並返回該處指標。
<pre name="code" class="cpp">//自己編寫程式實現strchr函式。即在給定字串中找特定的字元並返回該處指標。 #include <stdio.h>
xml中1位元組的UTF-8序列的位元組1無效([字元編碼]Invalid byte 1 of 1-byte UTF-8 sequence終極解決方案)
xml中1位元組的UTF-8序列的位元組1無效([字元編碼]Invalid byte 1 of 1-byte UTF-8 sequence終極解決方案) 專案本地執行是ok的,但是釋出到線上伺服器就一直報錯,說什麼 Error
過濾XML檔案中的無效字元
按: 軟體還是得測試啊~這不,測出XML中的無效字元0xffee了,結果導致無法解析XML,程式崩潰…… 新浪微博,你是如何儲存亂碼又用顯示的啊??? 找了半天,終於找到java下的一個解決方案,很容易轉成C#。 最近在處理XML檔案時遇到一個問題,即由於自己寫程式生成的
C語言找出字串中的特定的字元,並輸出
這裡我們用到了函式 strchr 這個函式返回值是一個指標 函式引數是 一個字串和一個字元。 #include <stdio.h> #include<string.h> void main() { char str[80]; char c
從一字串中找出其無重複最長子串字元
Question: 給定一個字串,找出不含有重複字元的最長子串的長度。 Ex: 給定 "abcabcbb" ,沒有重複字元的最長子串是 "abc" ,那麼長度就是3。 給定 "bbbbb" ,最長的子串就是 "b"
Idea中找不到Java Application 的xml配置檔案問題研究
出現問題,我對Idea中載入各種資原始檔(.xml、.properties等)做了研究總結。為了說明問題,下面建立一個Spring的test工程,目標就是執行後在控制檯列印一個“Hello World!”,著重看Idea中資源的配置方法。以及不同配置方法會引起的不用效應。 (ad
過濾xml中的不合法字元
xml裡面的<![CDATA[ ]]>,雖然可以放各種各樣的特殊字元,但還是有些字元放不進去,因為xml允許的字元範圍是"#x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FF
xml序列化,異常:(十六進位制值 0x1D)是無效的字元
產生原因是xml檔案中包含低位非列印字元造成的 處理方法:在產生xml檔案的時候,過濾低位非列印字元 把一個字串中的 低序位 ASCII 字元 替換成 {0:x}字元 轉換 ASCII 0 - 8 轉換 ASCII 11 - 12 轉換 ASCII 14 -
C#過濾XML(十六進位制值 0x1D)無效的字元
載入或儲存XML時引發的異常.System.ArgumentException: “”(十六進位制值 0x1D)是無效的字元。 產生原因是xml檔案中包含低位非列印字元造成的 處理方法:在產生xml檔案的時候,過濾低位非列印字元 把一個字串中的 低序位 ASCII 字元 替
關於servlet3.0版本java dynamic web工程中找不到web.xml的問題
寫了一個form.html: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title>
【c語言】第一個只出現一次的字元題目:在字串中找出第一個只出現一次的字元
// 第一個只出現一次的字元題目:在字串中找出第一個只出現一次的字元。 // 如輸入“abaccdeff”,則輸出’b’。 #include <stdio.h> #include <string.h> char find_one(ch
C/C++消除字串中的無效字元,用於載入配置
字元陣列是一個數組,每個元素的值都可以改變。而字串指標指向的是一個常量字串,它被存放在程式的靜態資料區,一旦定義就不能改變。這是最重要的區別。 #include<stdio.h> #include<string.h> #includ
【演算法】字串中找出第一個不重複的字元
思想: 1、採用兩個int整數,firstHappen整數記錄字元對應ascii碼對應位,如果出現則為1,不出現預設為0; 2、reHappen整數記錄字元對應ascii碼對應位,如果重複出現的為1,否則預設為0; 3、然而對於任意字元,ascii碼是0-255,不可能有一
android動畫中fillBefore以及fillAfter在xml中設定無效的問題
fillBefore是指動畫結束時畫面停留在第一幀,fillAfter是指動畫結束是畫面停留在最後一幀。最關鍵的問題是,這2個引數不能在xml中設定,這是沒有用的。必須在java程式碼中設定。比如setFillAfter(true); setFillBefore(fals
eclipse中checkstyle更換xml配置檔案check專案無效
問題: eclipse->window->perferences->checkstyle->new->配置自認定xml檔案後,如圖: 舊有的checkstyle配置下 used in projects 下有兩個專案無法應用新的cdsf配置