foundation.NSPropertyListSerialization$_XML$DictionaryParser.fatalError- Parse fatal error : 
org.xml.sax.SAXParseException: Content is not allowed in prolog.
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)
    at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1476)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:1037)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:513)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:815)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:744)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:128)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1208)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:543)
    at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
This question has multiple answers - Content is not allowed in Prolog SAXParserException and Java parsing XML document gives "Content not allowed in prolog." error
I am not able to resolve the error despite referring to all the posts possible. I also tried the solution recommended here - http://www.rgagnon.com/javadetails/java-handle-utf8-file-with-bom.html
I combined both the answers, and did this -
String inputBytesToStr = new String(inputBytes);
if (inputBytesToStr.startsWith("\uFEFF")) {
            inputBytesToStr = inputBytesToStr.substring(1);             
        }
        inputBytesToStr = inputBytesToStr.trim().replaceFirst("^([\\W]+)<","<");
        inputBytesToStr = inputBytesToStr.replaceAll("[^\\x20-\\x7e\\x0A]", "");
Here is my xml
    <?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
<info>
    <key>Name</key>
    <string>Patrick</string>
    <key>Country</key>
    <string>Australia</string>
    <array>
        <string>myImageOne.jpeg</string>
        <string>myImageTwo.jpeg</string>
        <string>myImageOne.jpeg</string>
    </array>
</info>
</plist>
Still no luck. I've been working on it for the past 12 hours. I need to resolve this now. PLEASE help me.
 
     
     
    