Serpil
Mitglied
Hallo,
ich muss ein Programm schreiben, welches csv Datein mit Java einliest und daraus automatisch ein XML File erstellt. Hat vielleicht jemand eine Idee, wie ich da vorgehen kann?
Kenn mich mit Java an sich (was man halt so an der FH lernt) relativ gut aus, aber das mit dem Programmieren hab ich noch nicht so gut drauf.
Ich hab da schon ein bisschen was ausprobiert, funktioniert aber nicht wirklich so wie ich es will.
Bin für jede Hilfe dankbar.
Vielen dank im Voraus.
Gruß Serpil
ich muss ein Programm schreiben, welches csv Datein mit Java einliest und daraus automatisch ein XML File erstellt. Hat vielleicht jemand eine Idee, wie ich da vorgehen kann?
Kenn mich mit Java an sich (was man halt so an der FH lernt) relativ gut aus, aber das mit dem Programmieren hab ich noch nicht so gut drauf.
Ich hab da schon ein bisschen was ausprobiert, funktioniert aber nicht wirklich so wie ich es will.
Code:
import java.io.*;
import javax.xml.parsers.*;
import org.w3c.dom.*;
public class convert
{
static Document document;
String[] list;
public static void main(String string[])
{
convert demo = new convert("C:/temp/test.xml");
demo.createXMLBasic();
demo.loadCSV("C:/temp/test.csv");
demo.speichern("C:/temp/test.xml");
}
public convert(String string)
{
newXMLFile(string);
}
public void newXMLFile(String string)
{
try
{
DocumentBuilderFactory factory = D ocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
document = builder.newDocument();
}
catch (ParserConfigurationException pce)
{
pce.printStackTrace();
}
catch (Throwable t)
{
t.printStackTrace();
}
}
public void createXMLBasic()
{
Element root = document.createElement("Person");
document.appendChild(root);
}
public void loadCSV(String string)
{
// Methode zum Laden von CSV
String Zeile = "";
try
{
FileReader Eingabestrom = new FileReader(string);
BufferedReader input = new BufferedReader(Eingabestrom);
while ((Zeile = input.readLine()) != null)
{
list = Zeile.split(";");
for(int i =0; i<list.length ;i++)
{
addData(list[i]);
}
}
while (Zeile != null);
input.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
public void addData(String data)
{
Element root = document.getDocumentElement();
try
{
Element element = document.createElement(list[0]);
root.appendChild(element);
element.appendChild(document.createTextNode(data));
}
catch (DOMException ex)
{
ex.printStackTrace();
}
}
public void speichern(String string)
{
try
{
FileWriter Ausgabestrom = new FileWriter(string);
BufferedWriter output = new BufferedWriter(Ausgabestrom);
String inhalt = "<?xml version='1.0' encoding='iso-8859-1' ?>\n";
inhalt = inhalt + document.getDocumentElement().toString();
System.out.println(inhalt); //Test
output.write(inhalt, 0, inhalt.length());
output.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
Bin für jede Hilfe dankbar.
Vielen dank im Voraus.
Gruß Serpil