Avatar billede fredand Forsker
29. september 2003 - 14:42 Der er 1 kommentar og
1 løsning

Write XML to file

Hello!

I try to write my XML to a file but I guess there is a better way then this below:

    public static void writeXMLFile(Node node)
    {
        String fileString =
        "<?xml version=\"1.0\" encoding=\"ISO-8859-1}\"?>\n"+
        "<!DOCTYPE note [\n"+
        "<!ELEMENT students (student)>\n"+
        "<!ELEMENT student (firstname, lastname, number, address, zipcode, city, email, phone, mobile, other, parents)>\n"+
        "<!ELEMENT firstname (#PCDATA)>\n"+
        "<!ELEMENT lastname (#PCDATA)>\n"+
        "<!ELEMENT adress (#PCDATA)>\n"+
        "<!ELEMENT zipcode (#PCDATA)>\n"+
        "<!ELEMENT city (#PCDATA)>\n"+
        "<!ELEMENT email (#PCDATA)>\n"+
        "<!ELEMENT phone (#PCDATA)>\n"+
        "<!ELEMENT mobile (#PCDATA)>\n"+
        "<!ELEMENT phone (#PCDATA)>\n"+
        "<!ELEMENT other (#PCDATA)>\n"+
        "<!ELEMENT parents (parent*)>\n"+
        "<!ELEMENT parent (firstname, lastname, address, zipcode, city, email, phone, mobile, other)>\n"+
        "]>\n" + node.toString();

        try
        {
            FileWriter fileWriter = new FileWriter(fileName);
            int length = fileString.length();
            fileWriter.write(fileString, 0, length);
            fileWriter.flush();
            fileWriter.close();
        }
        catch (Exception ioe)
        {
            ioe.printStackTrace();
        }
    }

... Because I get this error message when I read it later (Se below). All the empty nodes that looks like this in the first place <node></node> now looks like this <node />.

Does any one know a better idea for this?

Best regrads
Fredrik

org.xml.sax.SAXParseException: Teckenkonverteringsfel: "UTF-8 encoding of charac
ter 0x001aeda9 can't be converted to Unicode." (radnumret kan vara f÷r lÕgt).
        at org.apache.crimson.parser.InputEntity.fatal(InputEntity.java:1100)
        at org.apache.crimson.parser.InputEntity.fillbuf(InputEntity.java:1072)
        at org.apache.crimson.parser.InputEntity.isXmlDeclOrTextDeclPrefix(Input
Entity.java:914)
        at org.apache.crimson.parser.Parser2.maybeXmlDecl(Parser2.java:1009)
        at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:486)
        at org.apache.crimson.parser.Parser2.parse(Parser2.java:305)
        at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:442)

        at org.apache.crimson.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl
.java:185)
        at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:161)
        at xmlformmanager.XmlFileReader.readXMLFile(XmlFileReader.java:67)......
Avatar billede fredand Forsker
29. september 2003 - 14:57 #1
Hmm!

Sorry, a litle misstypying of my self!

Best regards

Fredrik
Avatar billede arne_v Ekspert
29. september 2003 - 14:59 #2
I do not belive node.toString() is good.

I can see two possibilities:
1)  lookp through document and write everything manual
2)  use XML serializer (non standard !)
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

IT-JOB

Capgemini Danmark A/S

SAP S/4HANA Business Controlling

Politiets Efterretningstjeneste

Tech-studentermedhjælpere i PET

Forsvarsministeriets Materiel- og Indkøbsstyrelse

IT-Sikkerhedsrådgiver til Cyberdivisionen i Hvidovre