ErrorrAn在文档的元素内容中找到无效的XML字符(Unicode:0xb),同时使用DOM解析器解析xml

ErrorrAn在文档的元素内容中找到无效的XML字符(Unicode:0xb),同时使用DOM解析器解析xml

问题描述:

ErrorrAn invalid XML character (Unicode: 0xb) was found in the element content of the document. 

当我尝试使用dom解析器解析xml数据时,出现此错误?ErrorrAn在文档的元素内容中找到无效的XML字符(Unicode:0xb),同时使用DOM解析器解析xml

是什么原因?

我该如何解决这个问题?

编辑 下面是XML文件片段

<CIRS><CIR applicantId="131906564" loanId="126907905" applicantRefId="TSFI012095G1" fan="TSFI012095"><REQUESTDATA><NAME>D DUNSTON JOSEPH WILFRED</NAME><DOB>31-07-1966</DOB><GENDER>Male</GENDER><ID><TYPE>PASSPORT NUMBER</TYPE><VALUE>H3359853</VALUE></ID><ID><TYPE>DRIVER'S LICENSE NUMBER</TYPE><VALUE>R/TN/69/005545/2005</VALUE></ID><PHONE>95412563#25,23778#34,87976#54</PHONE> 

我想这个问题是在电话号码标签<PHONE>95412563#25,23778#34,87976#54</PHONE>

+0

你能显示你的xml吗?以及如何解析它 –

+1

看来你的文件不是XML。 0xb是一个垂直选项卡。也许你的XML中有一些不在XML元素内的文本。 – helderdarocha

+0

看到这个:http://stackoverflow.com/questions/5742543/an-invalid-xml-character-unicode-0xc-was-found?rq=1 – helderdarocha

每当无效XML字符输入到XML,它提供了这样的错误。当你在Notepad ++中打开它时,它看起来像VT,SOH,FF。这些是无效的xml字符。我使用的XML版本1.0和我通过以下方式在数据库中输入前验证文本数据:

Pattern p = Pattern.compile("[^\\u0009\\u000A\\u000D\u0020-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFF]+"); 
retunContent = p.matcher(retunContent).replaceAll(""); 

这将确保没有无效的特殊字符(S)将在XML输入。