我在开发lucene时,读xml数据。但是总是提示我invalid xml characters。
我想,我的确加了cdata 为什么还会这样呢?
后来我查了一个w3c 的资料,发现原来是unicode字符在作怪。
unicode 字符就算你用cdata包住也解决不了。
所以要过滤掉这些字符。
我查了一下,unicode特别字符大概是:
//x00-//x08
//x0b-//x0c
//x0e-//x1f
#xD800-#xDFFF
用正则表达式去remove.
代码大概是:
参考:http://www.cnblogs.com/net205/archive/2009/03/17/1414607.html