解决方案 »

  1.   

    在http://blog.chenlb.com/2008/11/an-invalid-xml-character-on-dom4j-read-xml-file.html查到说是xml1.0有限制,官方定义的无效字符为:0x00 - 0x08
    0x0b - 0x0c
    0x0e - 0x1f然后加了这段代码 public static String filter(String xmlStr) {  
            StringBuilder sb = new StringBuilder();  
            char[] chs = xmlStr.toCharArray();  
            for(char ch : chs) {  
                if((ch >= 0x00 && ch <= 0x08)  
                    || (ch >= 0x0b && ch <= 0x0c)  
                    || (ch >= 0x0e && ch <= 0x1f)) {  
                } else {  
                    sb.append(ch);  
                }  
            }  
            System.out.println("filter after=" +sb.length());  
            return sb.toString();  
        }  
    之后可以正常解析了,但是解析的内容中item元素的内容全变成奇怪形状的空格了。。
    title:互联网的那点事
    link:
    link:http://www.alibuybuy.com
    description:互联网的那点事 - 聚焦互联网前沿资讯,网络精华内容,交流产品心得!
    lastBuildDate:Mon, 09 Jun 2014 02:09:39 +0000
    language:en
    updatePeriod:hourly
    updateFrequency:1
    generator:http://wordpress.org/?v=3.1
    item:











    item:







    后面就不贴了。。求解,是解析方法的问题还是获取方法出错?
      

  2.   

    朋友…… 好可惜的说
    你不该用dom来解析xml,数据量大了,容易出错的。
    直接用Sax解析,非常方便,简单。
    你可以看这个例子:http://blog.csdn.net/wangkuifeng0118/article/details/7305068
      

  3.   

    xml的解析有DOM和SAX等方法;文档格式的定义有GB编码或Unicode编码等编码方式.