我用build 来加载InputStream类型的xml流文件,当xml中有中文时,就会出现
Content is not allowed in trailing section 的错误信息. xml流文件用GB2312编码的.英文没有问题.
代码如下:try
{
 doc = builder.build(is);
 }
catch(Exception ex)
{
System.out.println("builder error"+ex.getMessage());
}解决后马上结帖.分数可在加.我用很多方法都不好使..
我是用字符串生成流的, 
InputStream instancestream = new ByteArrayInputStream(xml.getBytes());
原来xml字符串是用UTF-8编码的,我用xml=xml.replaceAll("UTF-8","GB2312");方法把它变为GB2312
编码的.

解决方案 »

  1.   

                FileInputStream fileInput = new FileInputStream(xmlfile.getPath());
                InputStreamReader inStreamRead= new InputStreamReader(fileInput,"GBK");
                document = saxbuilder.build(inStreamRead); 这样看看
      

  2.   

    直接用文件 看看能不能解析
    例如
    Document doc = builder.build(new File("jdom_test.xml"));
      

  3.   

    xml=xml.replaceAll("UTF-8","GB2312");
    可以用来把它变为GB2312编码的?
    xml= new String(xml.getByte("UTF-8"),"GB2312");