Java parsing XML document gives quot;Content not allowed in prolog.quot; error(Java 解析 XML 文档给出“Prolog 中不允许的内容.错误)
问题描述
我正在用 Java 编写一个程序,它接受一个自定义 XML 文件并对其进行解析.我正在使用 XML 文件进行存储.我在 Eclipse 中收到以下错误.
I am writing a program in Java that takes a custom XML file and parses it. I'm using the XML file for storage. I am getting the following error in Eclipse.
[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 文件的开头:
The beginning of the XML file is included:
<?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 时,我得到上面的错误.
The program is able to read in the XML file but when I call DocumentBuilder.parse(XMLFile) to get a parsed org.w3c.dom.Document, I get the error above.
在我看来,我的 XML 文件的序言中没有无效内容.我不知道出了什么问题.请帮忙.谢谢.
It doesn't seem to me that I have invalid content in the prolog of my XML file. I can't figure out what is wrong. Please help. Thanks.
推荐答案
请检查xml文件是否有这样的垃圾字符.如果存在,请使用以下语法删除.
Please check the xml file whether it has any junk character like this �.If exists,please use the following syntax to remove that.
String XString = writer.toString();
XString = XString.replaceAll("[^\x20-\x7e]", "");
这篇关于Java 解析 XML 文档给出“Prolog 中不允许的内容".错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Java 解析 XML 文档给出“Prolog 中不允许的内容&q
基础教程推荐
- Java Swing计时器未清除 2022-01-01
- 在 Java 中创建日期的正确方法是什么? 2022-01-01
- 多个组件的复杂布局 2022-01-01
- 大摇大摆的枚举 2022-01-01
- 如何在 JFrame 中覆盖 windowsClosing 事件 2022-01-01
- 从 python 访问 JVM 2022-01-01
- 验证是否调用了所有 getter 方法 2022-01-01
- 如何在 Spring @Value 注解中正确指定默认值? 2022-01-01
- Java 实例变量在两个语句中声明和初始化 2022-01-01
- 不推荐使用 Api 注释的描述 2022-01-01
