Avatar billede tripwire Nybegynder
10. november 2005 - 18:47 Der er 8 kommentarer og
1 løsning

xml, jdom og fejl på simpel xml

Hej alle

Jeg er så småt igang med kigge på XML og java og har læst Arne_V's artikler (thumbs op btw).

Men jeg får en:
org.jdom.input.JDOMParseException: Error on line 1 of document : The markup in the document preceding the root element must be well-formed.


Min xml ser sådan her ud (test1.xml):
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

Og min java kode ser sådan her ud (stjålet fra arne_v)

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

import org.jdom.Document;
import org.jdom.JDOMException;
import org.jdom.adapters.DOMAdapter;
import org.jdom.adapters.XercesDOMAdapter;
import org.jdom.input.DOMBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.List;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;

public class WriteJDOM1
{
    public static void main(String[] args)
    {
        new WriteJDOM1();
    }

    private final static String XML_FILE = "C:\\test1.xml";

    WriteJDOM1()
    {
        parseXML();
    }

    public void parseXML()
    {
        try
        {
            SAXBuilder b = new SAXBuilder();
            Document doc = b.build(new FileReader(XML_FILE));
            List list = doc.getRootElement().getChildren();

            System.out.println(list.size());

        } catch (FileNotFoundException e)
        {
            e.printStackTrace();

        } catch (IOException e)
        {
            e.printStackTrace();

        } catch (JDOMException e)
        {
            e.printStackTrace();

        } catch (Exception e)
        {
            e.printStackTrace();
        }
    }
}

Det eneste jeg forsøger er at få udskrevet størrelsen af listen.. hvad er det jeg overser?
Avatar billede arne_v Ekspert
10. november 2005 - 18:54 #1
ser XML'en 112% sådan ud ?
Avatar billede tripwire Nybegynder
10. november 2005 - 18:55 #2
Jeg forsøger at bruge noget xml fra W3Schools
http://www.w3schools.com/xml/xml_syntax.asp
Avatar billede arne_v Ekspert
10. november 2005 - 19:00 #3
har du copy pastet den faktisk fil på din PC ind her

dit program virker nemlig hos mig med den XML i spørgsmålet

fejl beskeden antyder noget med stavefejl i tag navne eller uafsluttet tag
Avatar billede tripwire Nybegynder
10. november 2005 - 19:05 #4
Du har helt ret.. hvis jeg copy paster det ind i et nyt dokument, så virker det også hos mig.. det må være min texteditor (TextPad) som har et problem... Men mange tak.. lægger du et svar?
Avatar billede arne_v Ekspert
10. november 2005 - 19:07 #5
kommer her
Avatar billede tripwire Nybegynder
10. november 2005 - 19:07 #6
Jeg sidder og kigger på begge filer nu i TextPad og der er ingen forskel... men den ene fylder 334byte og den anden fylder 167byte
Avatar billede arne_v Ekspert
10. november 2005 - 19:09 #7
er den store gemt i UTF-16 / rå Unicode ?
Avatar billede tripwire Nybegynder
10. november 2005 - 19:17 #8
Hov, hvis jeg åbner filerne i min DreamWeaver er der forskel på dem.. der er en tom linie imellem hver entry i den der ikke virker...
Avatar billede tripwire Nybegynder
10. november 2005 - 19:21 #9
Du har ret.. filen var gemt som Unicode..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester