SAXException: le Contenu n'est pas autorisé dans la section de fuite

Cela me rend fou. J'ai utilisé ce morceau de code pour les lots de différents projets, mais c'est la première fois qu'il m'avait donné ce type d'erreur. C'est tout le fichier XML:

  <layers>
    <layer name="Layer 1" h="400" w="272" z="0" y="98" x="268"/>
    <layer name="Layer 0" h="355" w="600" z="0" y="287" x="631"/>
  </layers>

Voici le mode opératoire de code dans mon homebrew de la classe Xml qui utilise le DocumentBuilderFactory pour parser le Xml de la fed:

public static Xml parse(String xmlString)
    {
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        dbf.setNamespaceAware(true);
        Document doc = null;
        //System.out.print(xmlString);
        try
        {
            doc = dbf.newDocumentBuilder().parse(
                    new InputSource(new StringReader(xmlString)));
            //Get root element...
            Node rootNode = (Element) doc.getDocumentElement();
            return getXmlFromNode(rootNode);
        } catch (ParserConfigurationException e)
        {
            System.out.println("ParserConfigurationException in Xml.parse");
            e.printStackTrace();
        } catch (SAXException e)
        {
            System.out.println("SAXException in Xml.parse ");
            e.printStackTrace();
        } catch (IOException e)
        {
            System.out.println("IOException in Xml.parse");
            e.printStackTrace();
        }
        return null;
    }

Le contexte que j'utilise c'est: projet d'école, afin de produire un type Photoshop logiciel de manipulation d'images. Le fichier est sauvegardé avec les calques .png et ce fichier xml pour la position, etc. des couches dans un .fichier zip. Je ne sais pas si la compression est d'ajouter quelques mystérieux caractères supplémentaires ou pas.

J'apprécie vos commentaires.

Êtes-vous sûr à 100% que ce que vous avez posté est en effet le contenu de votre fichier XML? Quel est votre débogueur dire sur le contenu de xmlString variable? Avez-vous peut-être avoir plusieurs éléments racines? Vous pouvez également poster le code qui génère le contenu de xmlString.
Merci pour cette question et la réponse. Je suis d'accord avec GenericJam - c'est lié à la mémoire tampon. Par défaut, tous les bits sont à 0 (zéro) et un appel à " zipFile.getInputStream(xmlZipFile).read(buffer) "sera de remplacer le premier" n " de ces octets. Cependant, le dernier 0-octets seront considérées comme des "contenu" dans le document XML.

OriginalL'auteur GenericJam | 2012-12-03