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
」の前にそれらの奇妙な文字をすべて削除してください。