com.ctc.wstx.exc.WstxUnexpectedCharException:非法字符((CTRL-CHAR,代码15))

时间:2012-09-14 11:58:54

标签: java xml-parsing axiom

我使用公理从XML中提取数据。
但由于在XML中有CTRL-CHAR(例如:â€,¢,“,”,™,', - 等),我得到了上述错误。
任何机构都可以帮我替换所有CTRL-SHAR以避免上述错误。

1 个答案:

答案 0 :(得分:0)

目前我在这种情况下使用以下方法。但我认为必须有比这更好的方法。

public static String removeNonUtf8CompliantCharacters( final String inString ) {
        if (null == inString ) return null;
        byte[] byteArr = inString.getBytes();
        for ( int i=0; i < byteArr.length; i++ ) {
            byte ch= byteArr[i]; 
            // remove any characters outside the valid UTF-8 range as well as all control characters
            if ( !(ch < 0x00FD && ch > 0x001F) || ch =='&' || ch=='#') {
                byteArr[i]=' ';
            }
        }
        return new String( byteArr );
    }