日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

使用DOM4J解析XML时非法字符Exception

發布時間:2023/12/10 asp.net 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用DOM4J解析XML时非法字符Exception 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ?最近在做簡單的解析XML的工作,我使用的是DOM4J來解析,可以說很方便了,在加上使用XPATH來具體確定XML中特定元素下的位置,更加便捷了

? ? ? ?可是在使用XML解析是卻遇到了這樣的問題:

? ? ? ?org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0x10) was found in the CDATA section.??

? ? ? ?解析XML文件時出現非法字符?(Unicode: 0x10)?的Exception(即使該字符位于CDATA段內)

? ? ? ?查閱資料得知,這個問題可以概括為An invalid XML character (Unicode: 0x**) was found in the comment.?

? ? ? ?問題所在是因為文件中有XML不允許的特殊字符,我覺得這也是我們俗稱的亂碼,W3C標準中有規定,有一些字符不能出現在XML文件中:

這些錯誤的發生是由于一些不可見的特殊字符的存在,而這些字符對于XMl文件來說又是非法的,所以XML解析器在解析時會發生異常,官方定義了XML的無效字符分為三段: 0x00 - 0x08 0x0b - 0x0c 0x0e - 0x1f

  最后這個問題的解決方法是:

1 對有可能出問題的XML文件,進行字符過濾后再進行解析。 2 public static String XMLChars(String s) { 3 if (s == null || "".equals(s)) { 4 return s; 5 } 6 return s.replaceAll("[\\x00-\\x08\\x0b-\\x0c\\x0e-\\x1f]", ""); 7 }

這樣這個問題就解決了

?

轉載于:https://www.cnblogs.com/yang-yang-yang/p/8646002.html

總結

以上是生活随笔為你收集整理的使用DOM4J解析XML时非法字符Exception的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。