Java disant Document XML n'est Pas Bien Formé

Java XML parser semble être en train de penser que mon document XML n'est pas bien formé suivant l'élément racine. Mais j'ai validé avec plusieurs outils et ils sont tous en désaccord. C'est probablement une erreur dans mon code, plutôt que dans le document lui-même. Je serais vraiment reconnaissant de toute aide que vous tous pourraient m'offrir.

Voici ma méthode en Java:

private void loadFromXMLFile(File f) throws ParserConfigurationException, IOException, SAXException {
    File file = f;
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db;
    Document doc = null;
    db = dbf.newDocumentBuilder();
    doc = db.parse(file);
    doc.getDocumentElement().normalize();
    String desc = "";
    String due = "";
    String comment = "";
    NodeList tasksList = doc.getElementsByTagName("task");
    for (int i = 0; i  tasksList.getLength(); i++) {
        NodeList attributes = tasksList.item(i).getChildNodes();
        for (int j = 0; i < attributes.getLength(); j++) {
        Node attribute = attributes.item(i);
        if (attribute.getNodeName() == "description") {
            desc = attribute.getTextContent();
        }
        if (attribute.getNodeName() == "due") {
            due = attribute.getTextContent();
        }
        if (attribute.getNodeName() == "comment") {
            comment = attribute.getTextContent();
        }
        tasks.add(new Task(desc, due, comment));
        }
        desc = "";
        due = "";
        comment = "";
    }
}

Voici le fichier XML, je suis en train de charger:

<?xml version="1.0"?>  
<tasklist>  
    <task>  
        <description>Task 1</description>  
        <due>Due date 1</due>  
        <comment>Comment 1</comment>  
        <completed>false</completed>  
    </task>  
    <task>  
        <description>Task 2</description>  
        <due>Due date 2</due>  
        <comment>Comment 2</comment>  
        <completed>false</completed>  
    </task>  
    <task>  
        <description>Task 3</description>  
        <due>Due date 3</due>  
        <comment>Comment 3</comment>  
        <completed>true</completed>  
    </task>  
</tasklist>

Et voici le message d'erreur java est à jeter pour moi:

run:
[Fatal Error] tasks.xml:28:3: The markup in the document following the root element must be well-formed.
May 17, 2010 6:07:02 PM todolist.TodoListGUI <init>
SEVERE: null
org.xml.sax.SAXParseException: The markup in the document following the root element must be well-formed.
        at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:239)
        at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:283)
        at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:208)
        at todolist.TodoListGUI.loadFromXMLFile(TodoListGUI.java:199)
        at todolist.TodoListGUI.<init>(TodoListGUI.java:42)
        at todolist.Main.main(Main.java:25)
BUILD SUCCESSFUL (total time: 19 seconds)

De référence TodoListGUI.java:199 est

doc = db.parse(file);

Si le contexte est utile à tout le monde ici, je suis en train d'écrire une simple application de l'interface utilisateur de gérer une liste de choses à faire qui peut lire et écrire et à partir de fichiers XML de la définition des tâches.

pouvez-vous poster un exemple de document XML?
Vos balises XML semblent avoir été mangé - pourriez-vous modifier afin de les rendre visibles? Vous devriez être en mesure d'obtenir un < avec"&lt;'.
non, juste tiret avec 4 espaces ou sélectionnez le code, puis appuyez sur 010101 bouton dans l'éditeur de barre d'outils ou le Ctrl+K clé.
Êtes-vous sûr que l'entrée est ce que vous attendez ?

OriginalL'auteur Pyroclastic | 2010-05-17