首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java解析XML文档会给出“prolog中不允许的内容”。错误

Java解析XML文档会给出“prolog中不允许的内容”。错误
EN

Stack Overflow用户
提问于 2010-04-08 20:51:27
回答 7查看 304.5K关注 0票数 53

我正在用Java编写一个程序,它接受一个自定义的XML文件并对其进行解析。我使用XML文件进行存储。我在Eclipse中得到以下错误。

代码语言:javascript
复制
[Fatal Error] :1:1: Content is not allowed in prolog.
org.xml.sax.SAXParseException: Content is not allowed in prolog.
    at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:239)
    at     com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:283  )
    at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:208)
    at me.ericso.psusoc.RequirementSatisfier.parseXML(RequirementSatisfier.java:61)
    at me.ericso.psusoc.RequirementSatisfier.getCourses(RequirementSatisfier.java:35)
    at     me.ericso.psusoc.programs.RequirementSatisfierProgram.main(RequirementSatisfierProgram.java:23  )

包含XML文件的开头:

代码语言:javascript
复制
<?xml version="1.0" ?>
<PSU>
     <Major id="IST">
        <name>Information Science and Technology</name>
        <degree>B.S.</degree>
        <option> Information Systems: Design and Development Option</option>
        <requirements>
            <firstlevel type="General_Education" credits="45">
                <component type="Writing_Speaking">GWS</component>
                <component type="Quantification">GQ</component>

程序能够读入XML文件,但是当我调用DocumentBuilder.parse(XMLFile)来获得解析后的org.w3c.dom.Document时,我得到了上面的错误。

在我看来,我的XML文件的prolog中没有无效的内容。我不知道哪里出了问题。请帮帮忙。谢谢。

EN

回答 7

Stack Overflow用户

发布于 2012-04-19 22:03:09

请检查xml文件中是否存在类似此�.If的垃圾字符,请使用以下语法将其删除。

代码语言:javascript
复制
String XString = writer.toString();
XString = XString.replaceAll("[^\\x20-\\x7e]", "");
票数 22
EN

Stack Overflow用户

发布于 2010-04-08 20:57:59

确保XML文件的开头没有隐藏的空格。也可能包括encoding="UTF-8“(或16?没有线索)。

票数 7
EN

Stack Overflow用户

发布于 2010-04-08 20:56:48

文档在我看来没问题,但我怀疑它包含一些看不见的字符。在十六进制编辑器中打开它,检查第一个"<“之前是否真的没有任何内容。确保XML标头中的空格是空格。也许可以删除"?>“前的空格。检查使用了哪些换行符。

确保文档是正确的UTF-8。有些windows编辑器将文档保存为UTF-16 (即每隔一秒字节为0)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2599919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档