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