Search code examples
javaxmlsaxwell-formed

The markup must be well-formed


First off, let me say I am a new to SAX and Java.

I am trying to read information from an XML file that is not well formed.

When I try to use the SAX or DOM Parser I get the following error in response:

The markup in the document following the root element must be well-formed.

This is how I set up my XML file:

<format type="filename" t="13241">0;W650;004;AG-Erzgeb</format>
<format type="driver" t="123412">001;023</format>
   ...

Can I force the SAX or DOM to parse XML files even if they are not well formed XML?

Thank you for your help. Much appreciated. Haythem


Solution

  • Your best bet is to make the XML well-formed, probably by pre-processing it a bit. In this case, you can achieve that simply by putting an XML declaration on (and even that's optional) and providing a root element (which is not optional), like this:

    <?xml version="1.0"?>
    <wrapper>
        <format type="filename" t="13241">0;W650;004;AG-Erzgeb</format>
        <format type="driver" t="123412">001;023</format>
    </wrapper>
    

    There I've arbitrarily picked the name "wrapper" for the root element; it can be whatever you like.