Hi, ich bekomme eine Exception, wenn ich einen Wert (per JDom) in eine XML-Datei schreiben will. Das auslesen funktioniert!
Hier der Fehler:
Die Methode um den Wert zu schreiben:
Die settings.xml liegt direkt im Home Verzeichnis des Programms.
Und hier noch der Aufbau der xml Datei:
Kann mir einer sagen, wo der Fehler liegt? Laut Fehlerkonsole liegt er in der Zeile, welchen ich im Java-Code kommentiert habe.
schönen Tag,
Martin
Hier der Fehler:
Code:
java.net.MalformedURLException: no protocol: settings.xml
at java.net.URL.<init>(URL.java:567)
at java.net.URL.<init>(URL.java:464)
at java.net.URL.<init>(URL.java:413)
at gnu.xml.aelfred2.XmlParser.pushURL(XmlParser.java:3414)
at gnu.xml.aelfred2.XmlParser.doParse(XmlParser.java:159)
at gnu.xml.aelfred2.SAXDriver.parse(SAXDriver.java:320)
at gnu.xml.aelfred2.XmlReader.parse(XmlReader.java:294)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:453)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:891)
at test.XMLread.setSettings(XMLread.java:100)
at test.Einstellungen.actionPerformed(Einstellungen.java:170)
Die Methode um den Wert zu schreiben:
Die settings.xml liegt direkt im Home Verzeichnis des Programms.
Java:
public static void setSettings(String DBColumn, String Value) {
XMLread xml = new XMLread();
System.out.println("berechnung mm xmlread" + Value);
SAXBuilder builder = new SAXBuilder();
try {
org.jdom.Document doc = builder.build("settings.xml"); // HIER PASSIERT DER FEHLER!
org.jdom.Element data = doc.getRootElement();
org.jdom.Element settings = data.getChild("settings");
org.jdom.Element txtBerechnungMM = settings.getChild("BerechnungMM");
txtBerechnungMM.setText(""+Value);
XMLOutputter outp = new XMLOutputter();
outp.setFormat(Format.getPrettyFormat());
outp.output(doc, new FileOutputStream(new File("settings.xml")));
} catch (IOException e) {
e.printStackTrace();
} catch (JDOMException e) {
e.printStackTrace();
}
}
Und hier noch der Aufbau der xml Datei:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<data>
<settings>
<DBServer>XYZ123</DBServer>
<Database>myDB</Database>
<DBPath>C:\Documents and Settings\test123\My Documents\</DBPath>
<pdfout>C:\WINNT\Temp\</pdfout>
<languageindex>1</languageindex>
<zaehler>0</zaehler>
<sortierer>PID</sortierer>
<BerechnungMM>9750</BerechnungMM> // <- UM DIESEN WERT GEHT ES
</settings>
<languages>
<german />
<english />
</languages>
</data>
Kann mir einer sagen, wo der Fehler liegt? Laut Fehlerkonsole liegt er in der Zeile, welchen ich im Java-Code kommentiert habe.
schönen Tag,
Martin