解析XML文件时出错,提示字符转换错误:“Malformed UTF-8 char -- is an XML encoding declaration missing?”(行号可能太小)
出错提示分别如下
org.xml.sax.SAXParseException: 字符转换错误:“Malformed UTF-8 char -- is an XML encoding declaration missing?”(行号可能太小)。
at org.apache.crimson.parser.InputEntity.fatal(InputEntity.java:1100)
at org.apache.crimson.parser.InputEntity.fillbuf(InputEntity.java:1072)
at org.apache.crimson.parser.InputEntity.isXmlDeclOrTextDeclPrefix(InputEntity.java:914)
at org.apache.crimson.parser.Parser2.maybeXmlDecl(Parser2.java:1150)
at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:620)
at org.apache.crimson.parser.Parser2.parse(Parser2.java:333)
at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:448)
at org.apache.crimson.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:185)
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:151)
at MyParser.<init>(MyParser.java:72)//这个是别人写的解析XML的那个类
我的XML文件是通过PrintWriter写出来的,我知道这样做不太好,但这是我程序的另外一种尝试方式。生成的XML文件也可读,就是用那个类解析时就出问题。用相同格式的由类作者提供的XML文件一切正常。请大侠们赐教!谢谢