Hallo, ich möchte eine kleine XML-Datei auslesen und 3 Werte darin verändern können.
Das Auslesen funktioniert tadellos, das Ändern leider nicht. Kann mir einer sagen, woran es liegt?
Die Methode fürs Verändern heißt "writeTableConfig()".
xml-Datei:
Hier der Quellcode:
Das Auslesen funktioniert tadellos, das Ändern leider nicht. Kann mir einer sagen, woran es liegt?
Die Methode fürs Verändern heißt "writeTableConfig()".
xml-Datei:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<tableName>tabelle4.csv</tableName>
<title>Hallo Welt</title>
<color>00FF00</color>
</root>
Hier der Quellcode:
Java:
import java.io.File;
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class TableConfig
{
private String tableName;
private String windowTitle;
private String focusColor;
private NodeList tableNameNodeList;
private NodeList titleNodeList;
private NodeList colorNodeList;
// Liest alle relevanten Daten aus der TableConfig.xml aus
public void readTableConfig()
{
try
{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(new File("tableConfig.xml"));
tableNameNodeList = document.getElementsByTagName("tableName");
tableName = null;
if (tableNameNodeList.getLength() > 0)
{
tableName = tableNameNodeList.item(0).getTextContent().toString();
setTableName(tableName);
}
titleNodeList = document.getElementsByTagName("title");
windowTitle = null;
if (titleNodeList.getLength() > 0)
{
windowTitle = titleNodeList.item(0).getTextContent().toString();
setWindowTitle(windowTitle);
}
colorNodeList = document.getElementsByTagName("color");
focusColor = null;
if (colorNodeList.getLength() > 0)
{
focusColor = colorNodeList.item(0).getTextContent().toString();
setFocusColor(focusColor);
}
}
catch (IOException e)
{
System.out.println("IO Fehler");
}
catch (ParserConfigurationException e)
{
System.out.println("Parser Fehler");
}
catch (SAXException e)
{
System.out.println("SAX Fehler");
}
}
public void writeTableConfig()
{
try
{
// Erzeugung eines DocumentBuilderFactory Objekts
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(new File("tableConfig.xml"));
tableNameNodeList = document.getElementsByTagName("tableName");
if (tableNameNodeList.getLength() > 0)
{
tableNameNodeList.item(0).setTextContent(tableName);
}
titleNodeList = document.getElementsByTagName("title");
if (titleNodeList.getLength() > 0)
{
titleNodeList.item(0).setTextContent(windowTitle);
}
colorNodeList = document.getElementsByTagName("color");
if (colorNodeList.getLength() > 0)
{
colorNodeList.item(0).setTextContent(focusColor);
}
}
catch (IOException e)
{
System.out.println("IO Fehler");
}
catch (ParserConfigurationException e)
{
System.out.println("Parser Fehler");
}
catch (SAXException e)
{
System.out.println("SAX Fehler");
}
}
public String getFocusColor()
{
return focusColor;
}
public void setFocusColor(String focusColor)
{
this.focusColor = focusColor;
}
public String getTableName()
{
return tableName;
}
public void setTableName(String tableName)
{
this.tableName = tableName;
}
public String getWindowTitle()
{
return windowTitle;
}
public void setWindowTitle(String windowTitle)
{
this.windowTitle = windowTitle;
}
}
Zuletzt bearbeitet: