/*xml-iga seotud funktsioonid*/ package punktid; import punktid.*; import java.util.*; import java.io.*; import org.w3c.dom.*; import javax.xml.parsers.*; import javax.xml.transform.*; import javax.xml.transform.dom.*; import javax.xml.transform.stream.*; public class XML{ Baas baas = new Baas(); public XML(){ } public String createXML(){ String sReturn=""; try { Vector vBaas = baas.baasiSisu(); Document d = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); Element root = d.createElement("andmebaas"); d.appendChild(root); Element eKasutajad = d.createElement("kasutajad"); Vector vKasutajad =(Vector) vBaas.elementAt(0); for (int i = 0; i < vKasutajad.size(); i++) { String[] sKasutaja = (String[])vKasutajad.elementAt(i); Element kasutaja = d.createElement("kasutaja"); Element id = d.createElement("id"); id.appendChild(d.createTextNode(sKasutaja[0])); kasutaja.appendChild(id); Element uname = d.createElement("kasutajanimi"); uname.appendChild(d.createTextNode(sKasutaja[1])); kasutaja.appendChild(uname); Element count = d.createElement("lisatud_punkte"); count.appendChild(d.createTextNode(sKasutaja[2])); kasutaja.appendChild(count); eKasutajad.appendChild(kasutaja); } root.appendChild(eKasutajad); Element eKommentaarid = d.createElement("kommentaarid"); Vector vKommentaarid =(Vector) vBaas.elementAt(1); for (int i = 0; i < vKommentaarid.size(); i++) { String[] sKommentaar = (String[])vKommentaarid.elementAt(i); Element kommentaar = d.createElement("kommentaar"); Element id = d.createElement("id"); id.appendChild(d.createTextNode(sKommentaar[0])); kommentaar.appendChild(id); Element p_id = d.createElement("punkti_id"); p_id.appendChild(d.createTextNode(sKommentaar[1])); kommentaar.appendChild(p_id); Element sisu = d.createElement("sisu"); sisu.appendChild(d.createTextNode(sKommentaar[2])); kommentaar.appendChild(sisu); Element lisaja = d.createElement("lisaja"); lisaja.appendChild(d.createTextNode(sKommentaar[3])); kommentaar.appendChild(lisaja); eKommentaarid.appendChild(kommentaar); } root.appendChild(eKommentaarid); Element ePunktid = d.createElement("punktid"); Vector vPunktid =(Vector) vBaas.elementAt(2); for (int i = 0; i < vPunktid.size(); i++) { String[] sPunkt = (String[])vPunktid.elementAt(i); Element punkt = d.createElement("punkt"); Element id = d.createElement("id"); id.appendChild(d.createTextNode(sPunkt[0])); punkt.appendChild(id); Element nimi = d.createElement("nimi"); nimi.appendChild(d.createTextNode(sPunkt[1])); punkt.appendChild(nimi); Element kirjeldus = d.createElement("kirjeldus"); kirjeldus.appendChild(d.createTextNode(sPunkt[2])); punkt.appendChild(kirjeldus); Element x = d.createElement("x-koordinaat"); x.appendChild(d.createTextNode(sPunkt[3])); punkt.appendChild(x); Element y = d.createElement("y-koordinaat"); y.appendChild(d.createTextNode(sPunkt[4])); punkt.appendChild(y); ePunktid.appendChild(punkt); } root.appendChild(ePunktid); Transformer t=TransformerFactory.newInstance().newTransformer(); FileOutputStream valja = new FileOutputStream("webapps/shad/baas.xml"); t.transform(new DOMSource(d),new StreamResult(valja)); valja.close(); StringWriter sw = new StringWriter(); t.transform(new DOMSource(d), new StreamResult(sw)); sReturn = sw.toString(); } catch (Exception e) { e.printStackTrace(); return "error"+e.toString(); } return sReturn; } }