SAX错误–序言中不允许包含内容

问题

通过SAX解析器工作的XML,但是当它解析某些XML文件时,会提示以下错误消息:

org.xml.sax.SAXParseException: Content is not allowed in prolog.
	at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
	at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
	at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
	//...

此错误消息始终是由开始元素中的无效XML内容引起的。 例如,多余的小点“。” 在XML元素的开头。

<?xml ... ”之前的任何字符 ”将导致上述“ org.xml.sax.SAXParseException:序言中不允许内容 ”错误消息。

小点“。” 在“ <?xml ...”之前。

.<?xml version="1.0"?>
<company>
	<staff>
		<firstname>yong</firstname>
		<lastname>mook kim</lastname>
		<nickname>mkyong</nickname>
		<salary>100000</salary>
	</staff>
	<staff>
		<firstname>low</firstname>
		<lastname>yin fong</lastname>
		<nickname>fong fong</nickname>
		<salary>200000</salary>
	</staff>
</company>

要解决此问题,只需删除“ <?xml ”之前的所有那些奇怪的字符。

翻译自: https://mkyong.com/java/sax-error-content-is-not-allowed-in-prolog/