Hallo,
ich versuche gerade per Java ein XML zu erstellen. Nachdem ich hier im Forum ein bißchen geschaut habe, was sich dafür eignet, habe ich mich für JDOM entschieden.
Das klappt auch alles soweit ganz super, aber ...
Wenn ich in dem XML File Umlaute (ä, ö, ü) habe, bekomme ich dann im Browser folgenden Fehler:
"An invalid character was found in text content. Error processing resource 'file:/// ... ". Wenn ich das Encoding nach "ISO-8859-1" ändere funktioniert es. Soweit ich herausfinden konnte sollte UTF-8 eigentlich Umlaute auch unterstützen, aber anscheinend läuft da was falsch.
Also dachte ich mir ich änder einfach das Encoding beim Schreiben des Files, aber wie geht das mit JDOM???
Folgenden Code habe ich bisher:
Danke
chrissy
ich versuche gerade per Java ein XML zu erstellen. Nachdem ich hier im Forum ein bißchen geschaut habe, was sich dafür eignet, habe ich mich für JDOM entschieden.
Das klappt auch alles soweit ganz super, aber ...
Wenn ich in dem XML File Umlaute (ä, ö, ü) habe, bekomme ich dann im Browser folgenden Fehler:
"An invalid character was found in text content. Error processing resource 'file:/// ... ". Wenn ich das Encoding nach "ISO-8859-1" ändere funktioniert es. Soweit ich herausfinden konnte sollte UTF-8 eigentlich Umlaute auch unterstützen, aber anscheinend läuft da was falsch.
Also dachte ich mir ich änder einfach das Encoding beim Schreiben des Files, aber wie geht das mit JDOM???
Folgenden Code habe ich bisher:
Code:
private void jbInit(String title,
Object[][] inputData)
throws Exception
{
Document docOut = new Document();
Element root = new Element("RESULT");
docOut.setRootElement(root);
Element calc = new Element("CALCULATION");
calc.setAttribute("id", title);
root.addContent(calc);
Element input = new Element("INPUT");
calc.addContent(input);
Element[] inValue = new Element[inputData[0].length];
System.out.println(inputData[0].length);
for (int i = 0; i < inValue.length; i++)
{
inValue[i] = new Element("IN" + Integer.toString(i));
inValue[i].setAttribute("value", inputData[0][i].toString());
inValue[i].setText(inputData[1][i].toString());
input.addContent(inValue[i]);
}
PrintWriter pw = new PrintWriter( new File( "output.xml" ) );
XMLOutputter xout = new XMLOutputter( Format.getPrettyFormat() );
xout.output( docOut, pw );
System.out.println("File created");
}
Danke
chrissy