org.jdom.input.JDOMParseException: Error on line 1: An invalid XML character (Unicode: 0xd8fa) was found in the element content of the document.
        at org.jdom.input.SAXBuilder.build(SAXBuilder.java:466)
        at com.fishpopo.httpUI.util.ToolsFunction.xmlElementsRoot(ToolsFunction.java:179)
        at com.fishpopo.httpUI.servlet.ZhangXunMrNew.doGet(ZhangXunMrNew.java:79)
        at com.fishpopo.httpUI.servlet.ZhangXunMrNew.doPost(ZhangXunMrNew.java:194)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
        at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
        at java.lang.Thread.run(Thread.java:595)
Caused by: org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0xd8fa) was found in the element content of the document.
        at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:236)
        at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:215)
        at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:386)
        at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:316)
        at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1438)
        at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanSurrogates(XMLScanner.java:1408)
  解析xml的时候报的这个做。各位大哥。帮小弟看看。这个问题如何解决。在线等。急

解决方案 »

  1.   

    文档中含非法字符。一定要用的话,用CDATA括住它。
    对了,这个字符又不是中文,文档中为什么会出现呢?
      

  2.   

    是不是文档encoding制定的编码方案和实际文本的编码方案不一致?
      

  3.   

    这个xml文件是对方公司给的参数问题。我做接口同步。我现在想要做的是把这些非法字符屏蔽掉。大哥有具体的代码么。。
      

  4.   

    文档编码和我的程序编码都是UTF-8.这块请大哥说仔细点
      

  5.   

    如果仅仅是屏蔽,在收到文档的时候replaceAll替换掉不行吗?
    用正则表达式找tag即可定位这些文本。