public void skrivTilFil(Transportmiddel transportmiddel, String dato) {
int loginnr = transportmiddel.getVognmand().getLoginnr();
String navn = "";
String vejnavn1 = "";
String by1 = "";
int postnr1 = 0;
float xKoordinat1 = 0F;
float yKoordinat1 = 0F;
for (int i = 0;
i < transportmiddel.getAdresseListe().getAfleveringsliste().size(); i++) {
AfleveringsSted afleveringsSted = (AfleveringsSted) transportmiddel.
getAdresseListe().getAfleveringsliste().elementAt(i);
navn = afleveringsSted.getNavn();
vejnavn1 = afleveringsSted.getVejnavn();
by1 = afleveringsSted.getBy();
postnr1 = afleveringsSted.getPostNr();
xKoordinat1 = afleveringsSted.getXKoordinat();
yKoordinat1 = afleveringsSted.getYKoordinat();
}
int breveInd = 0;
int breveUd = 0;
int pakkerInd = 0;
int pakkerUd = 0;
for (int i = 0; i < transportmiddel.getLast().getGittervogn().size(); i++) {
Gittervogn gittervogn = (Gittervogn) transportmiddel.getLast().
getGittervogn().elementAt(i);
if (gittervogn.isBrev() == true && gittervogn.isInd() == true) {
breveUd++;
}
else if (gittervogn.isBrev() == true && gittervogn.isInd() == false) {
breveInd++;
}
else if (gittervogn.isBrev() == false && gittervogn.isInd() == true) {
pakkerUd++;
}
else if (gittervogn.isBrev() == false && gittervogn.isInd() == false) {
pakkerInd++;
}
}
// lav nyt DOM træ
try {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.newDocument();
// tilføj elementer til DOM træ
Element vognmand = doc.createElement("vognmand");
vognmand.setAttribute("loginnr", "" + loginnr);
Element afleveringssted = doc.createElement("afleveringssted");
afleveringssted.setAttribute("navn", "" + navn);
vognmand.appendChild(afleveringssted);
Element adresse = doc.createElement("adresse");
Element vejnavn = doc.createElement("vejnavn");
vejnavn.appendChild(doc.createTextNode("" + vejnavn1));
Element by = doc.createElement("by");
by.appendChild(doc.createTextNode("" + by1));
Element postnr = doc.createElement("postnr");
postnr.appendChild(doc.createTextNode("" + postnr1));
Element xKoordinat = doc.createElement("xKoordinat");
xKoordinat.appendChild(doc.createTextNode("" + xKoordinat1));
Element yKoordinat = doc.createElement("yKoordinat");
yKoordinat.appendChild(doc.createTextNode("" + yKoordinat1));
afleveringssted.appendChild(adresse);
adresse.appendChild(vejnavn);
adresse.appendChild(by);
adresse.appendChild(postnr);
adresse.appendChild(xKoordinat);
adresse.appendChild(yKoordinat);
Element levering = doc.createElement("levering");
afleveringssted.appendChild(levering);
levering.setAttribute("datoOgTid", "" + dato);
Element afleveret = doc.createElement("afleveret");
Element modtaget = doc.createElement("modtaget");
levering.appendChild(afleveret);
Element tag1 = doc.createElement("tags");
Element tag2 = doc.createElement("tags");
for (int i = 0; i < transportmiddel.getLast().getTag().size(); i++) {
Tag tag = (Tag) transportmiddel.getLast().getTag().elementAt(i);
if (tag.isInd() == false) {
Element tagkode = doc.createElement("tag");
tagkode.appendChild(doc.createTextNode("" + tag.getKode()));
tag1.appendChild(tagkode);
afleveret.appendChild(tag1);
}
else {
Element tagkode = doc.createElement("tag");
tagkode.appendChild(doc.createTextNode("" + tag.getKode()));
tag2.appendChild(tagkode);
modtaget.appendChild(tag2);
}
}
Element antalBreveA = doc.createElement("antalBreve");
antalBreveA.appendChild(doc.createTextNode("" + breveInd));
Element antalPakkerA = doc.createElement("antalPakker");
antalPakkerA.appendChild(doc.createTextNode("" + pakkerInd));
afleveret.appendChild(antalBreveA);
afleveret.appendChild(antalPakkerA);
levering.appendChild(modtaget);
Element antalBreveM = doc.createElement("antalBreve");
antalBreveM.appendChild(doc.createTextNode("" + breveUd));
Element antalPakkerM = doc.createElement("antalPakker");
antalPakkerM.appendChild(doc.createTextNode("" + pakkerUd));
modtaget.appendChild(antalBreveM);
modtaget.appendChild(antalPakkerM);
Element registrering = doc.createElement("registrering");
registrering.setAttribute("xmlns:xsi", "
http://www.w3.org/2001/XMLSchema-instance");
registrering.setAttribute("xsi:noNamespaceSchemaLocation", "skema.xsd");
registrering.appendChild(vognmand);
doc.appendChild(registrering);
// udskriv DOM træ
OutputFormat fmt = new OutputFormat();
fmt.setIndenting(true);
// XMLSerializer ser = new XMLSerializer(System.out, fmt);
//Skal bruges hvis den skal skrives ud til fil
FileWriter fil = new FileWriter(loginnr + ".xml");
XMLSerializer ser = new XMLSerializer(new PrintWriter(fil), fmt);
ser.serialize(doc);
}
catch (FactoryConfigurationError e) {
e.printStackTrace();
}
catch (ParserConfigurationException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
return;
}