Fatal Error] :2:6: The processing instruction target matching "[xX][mM][lL]" is not allowed.
org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 6; The processing instruction target matching "[xX][mM][lL]" is not allowed.
at java.xml/com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:262)
at java.xml/com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:342)
at org.code2care.java.examples.SAXParseExceptionExample.main(SAXParseExceptionExample.java:21)
The most common reason for his error is that the XML file you are trying to parse using the SAXParser is not correct. All XML files that should start with the string <?xml, there should be nothing before this text in your .XML file, not even spaces or new lines.
<?xml version="1.0" encoding="UTF-8"?>
<employees>
<employee>
<name>Sam Jose</name>
<dob>1990-05-15</dob>
<city>New York</city>
</employee>
<employee>
<name>Adam Kale</name>
<dob>1985-11-30</dob>
<city>Chicago</city>
</employee>
<employee>
<name>Mike Smith</name>
<dob>1992-07-10</dob>
<city>London</city>
</employee>
</employees>
If you look closely at the above employees.xml file, you will notice that there is a new line character before the start of the <?xml tag, which will cause this issue. Just remove it and you are good to go!
Facing issues? Have Questions? Post them here! I am happy to answer!
Rakesh (He/Him) has over 14+ years of experience in Web and Application development. He is the author of insightful How-To articles for Code2care.
Follow him on: X
You can also reach out to him via e-mail: rakesh@code2care.org
- Get the current timestamp in Java
- Java Stream with Multiple Filters Example
- Java SE JDBC with Prepared Statement Parameterized Select Example
- Fix: UnsupportedClassVersionError: Unsupported major.minor version 63.0
- [Fix] Java Exception with Lambda - Cannot invoke because object is null
- 7 deadly java.lang.OutOfMemoryError in Java Programming
- How to Calculate the SHA Hash Value of a File in Java
- Java JDBC Connection with Database using SSL (https) URL
- How to Add/Subtract Days to the Current Date in Java
- Create Nested Directories using Java Code
- Spring Boot: JDBCTemplate BatchUpdate Update Query Example
- What is CA FE BA BE 00 00 00 3D in Java Class Bytecode
- Save Java Object as JSON file using Jackson Library
- Adding Custom ASCII Text Banner in Spring Boot Application
- [Fix] Java: Type argument cannot be of primitive type generics
- List of New Features in Java 11 (JEPs)
- Java: How to Add two Maps with example
- Java JDBC Transition Management using PreparedStatement Examples
- Understanding and Handling NullPointerException in Java: Tips and Tricks for Effective Debugging
- Steps of working with Stored Procedures using JDBCTemplate Spring Boot
- Java 8 java.util.Function and BiFunction Examples
- The Motivation Behind Generics in Java Programming
- Get Current Local Date and Time using Java 8 DateTime API
- Java: Convert Char to ASCII
- Deep Dive: Why avoid java.util.Date and Calendar Classes
- Convert Hex to ASCII in Java with Example - Java
- AWS CLI Change Default Output Format - AWS
- W3 HTML validator warning Unable to Determine Parse Mode - Html
- Share image and text Twitter using your Android Application Programatically - Twitter
- How to Apply Themes to Notepad++ - NotepadPlusPlus
- How to Make Android TextView Text Bold - Android
- How to remove unwanted Java imports in IntelliJ (alternative of eclipse Ctrl + Shift + O) - Eclipse
- How to enable line numbers in IntelliJ - HowTos