XML write Problem

MarioK

Aktives Mitglied
Hallo Gemeinschaft,
ich habe mit den unten dargestellten Code folgendes XML dokument erzeugt: (ich sage gleich dazu, dass ich mich das erste Mal mit XML beschäftige, darum bitte ich auch um erklärende Worte)
[XML]<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Knoten>
<koordinaten>
<id>0</id>
<xkoord>111</xkoord>
<ykoord>222</ykoord>
</koordinaten>
<koordinaten>
<id>1</id>
<xkoord>333</xkoord>
<ykoord>444</ykoord>
</koordinaten>
</Knoten>[/XML]

ich möchte aber folgende Ausgabe erreichen, komme aber derzeit nicht auf den Punkt, quasi ich weiss nicht wie bzw wie bekomme ich die ID so da rein:
[XML]<?xml version="1.0" encoding="UTF-8"?>
<Knoten>
<koordinaten id = "0">
<xkoord>111</xkoord>
<ykoord>222</ykoord>
</koordinaten>
<koordinaten id = "1">
<xkoord>333</xkoord>
<ykoord>444</ykoord>
</koordinaten>
</Knoten>[/XML]

mit folgenden Code habe ich das obere .xml Dokument erzeugt:
Java:
public class Punkt {

	private int xkoord;
	private int ykoord;
	private int id;
	
	public Punkt() {}
	
	public Punkt(int id, int xkoord, int ykoord) {
		this.id = id;
		this.xkoord = xkoord;
		this.ykoord = ykoord;
	}
	
	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}
	
	public int getXkoord() {
		return xkoord;
	}

	public void setXkoord(int xkoord) {
		this.xkoord = xkoord;
	}
	
	public int getYkoord() {
		return ykoord;
	}

	public void setYkoord(int ykoord) {
		this.ykoord = ykoord;
	}
	
	@Override
	public String toString() {
		return this.id + "(" + this.xkoord + " " + this.ykoord + ")";
	}

}
+
Java:
import java.util.*;

import javax.xml.bind.annotation.*;


@XmlRootElement(name ="Knoten") 
public class PunkteToXML {
	private ArrayList<Punkt> kreise;

	public PunkteToXML() {}
	
	public PunkteToXML(ArrayList<Punkt> kreise) {
		this.kreise = kreise;
	}
	
	@XmlElement(name = "koordinaten")
	public ArrayList<Punkt> getKreise() {
		return kreise;
	}

	public void setListe(ArrayList<Punkt> kreise) {
		this.kreise = kreise;
	}
}
und
Java:
import javax.xml.bind.*;

import java.io.*;
import java.util.*;

public class PunkteXMLWrite {
		/**
		 * Methode zum Schreiben von Punkten in Datei im XML-Format
		 * @param punkteToXML die zu schreibenden Punkte
		 * @param file die Datei in die die Punkte im XML-Format geschrieben werden sollen
		 * @throws JAXBException
		 */
		public void writePunkteToXML(PunkteToXML punkteToXML, File file) throws JAXBException {
			JAXBContext jc = JAXBContext.newInstance(PunkteToXML.class);
			Marshaller m = jc.createMarshaller();
			m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
			m.marshal(punkteToXML, file);
		}

		/**
		 * @param args
		 */
		public static void main(String[] args) {
			// TODO Auto-generated method stub
			PunkteXMLWrite meineDB = new PunkteXMLWrite();
			
			ArrayList<Punkt> kreise = new ArrayList<Punkt> ();
			kreise.add(new Punkt(0, 111, 222));			
			kreise.add(new Punkt(1, 333, 444));
			System.out.println(kreise);
			System.out.println();
			PunkteToXML meinePunkte = new PunkteToXML(kreise);
			
			/* Ausgabe der Liste mit Punkten */
			for (Punkt pkt: meinePunkte.getKreise()) {
				System.out.println(pkt);
			}
			
			// Generierung des XML-Dokumentes mit Punkten
			File f = new File("data/meinePunkte.xml");
			try {
				meineDB.writePunkteToXML(meinePunkte, f);
			}
			catch (Exception e) {
				System.out.println(e.getMessage());
				System.out.println("Fehler Auslesen");
			}

		}
}

vielleicht kann der ein oder andere ein Gedankenanstoss geben....
 
Zuletzt bearbeitet:

eRaaaa

Top Contributor
Füge mal @XmlAttribute dem
Code:
getId
in deiner Punkt Klasse hinzu:
Java:
public class Punkt {
	 
    private int xkoord;
    private int ykoord;
    private int id;
    
    public Punkt(){}
    
    public Punkt(int id, int xkoord, int ykoord) {
        this.id = id;
        this.xkoord = xkoord;
        this.ykoord = ykoord;
    }

    @XmlAttribute
    public int getId() {
        return this.id;
    }
 
    public void setId(int id) {
        this.id = id;
    }
    
    public int getXkoord() {
        return xkoord;
    }
 
    public void setXkoord(int xkoord) {
        this.xkoord = xkoord;
    }
    
    public int getYkoord() {
        return ykoord;
    }
 
    public void setYkoord(int ykoord) {
        this.ykoord = ykoord;
    }
    
    @Override
    public String toString() {
        return this.id + "(" + this.xkoord + " " + this.ykoord + ")";
    }
 
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Read / write Problem beim ByteStrom XML & JSON 2
M XML write Problem zweiter Ansatz XML & JSON 3
O XPATH Problem - Anfänger XML & JSON 4
so_ein_Komischer Problem mit Clean and Build XML & JSON 1
P JAXB-Problem XML & JSON 1
W Problem mit dem mit XML sortierung XML & JSON 2
S Jaxb Unmarshalling Problem XML & JSON 4
E einfaches Problem XML + XSD + jedit XML & JSON 2
S Xslt Problem XML & JSON 2
B JasperReport Problem in Runtime XML & JSON 2
S Problem with JAXB unmarshalling classes that have the same name in @XmlRootElement XML & JSON 2
R Problem bei: XML und XSL zu HTML XML & JSON 2
M XML read Problem XML & JSON 4
whitenexx Problem beim parsen von Facebook XML XML & JSON 3
M XML Unicode Problem XML & JSON 2
S XJC --> Java-Objects compile Problem XML & JSON 4
F XPath-Problem mit DOM4J XML & JSON 8
B JPA + JAXB Mapping Problem XML & JSON 2
T XPath Problem: finden einer Node nach Attributswert XML & JSON 2
G Problem beim schreiben von XML in eine File XML & JSON 2
S Encoding Problem XML & JSON 7
K JAXB und Maps -> Marshalling-Problem XML & JSON 6
B Problem beim löschen von ChildNodes aus einem XML-DOM XML & JSON 3
E JDOM - Problem beim Zusammenfügen zweier Dateien XML & JSON 2
M JExcelAPI (JXL) Encoding Problem XML & JSON 11
S DOM Parsen Problem mit HTML Sonderzeichen XML & JSON 4
A aus xml --> html Problem XML & JSON 3
Y stax Problem XML & JSON 3
slawaweis Problem mit XSLT (wahrscheinlich ein Bug in Java 6) XML & JSON 16
T Problem beim Parsen von Attribut xmlns="urn:com:test&qu XML & JSON 6
P XPath Problem XML & JSON 2
J Problem beim XML-Lesen XML & JSON 2
M Problem mit FOP in Java Programm XML & JSON 2
S Problem mit XPath XML & JSON 4
J Problem mit compile einer XSD XML & JSON 3
N jdom problem beim lesen von child elementen XML & JSON 5
N problem bei xml lesen mit jdom XML & JSON 2
A XPath Problem XML & JSON 2
W JDOM element ändern funzt nich :( [problem gelöst] XML & JSON 3
G Problem mit XML-Schema Validierung mit Java XML & JSON 12
B jdom: getChildren() problem XML & JSON 4
H XSL-FO Problem mit If XML & JSON 2
loadbrain XPath Problem XML & JSON 2
T addContent / Problem mit Variable XML & JSON 2
F Problem mit JAXB Unmarshaller XML & JSON 2
F JDOM und XPath - Problem mit Namespace ohne Prefix XML & JSON 5
8 SAXParser Problem, startElement wird nicht ausgeführt XML & JSON 2
M Java und XSLT: Performanz-Problem XML & JSON 5
X JDOM SAXBuilder Validationschema - Problem XML & JSON 8
G Problem mit getContent XML & JSON 4
K stax problem XML & JSON 2
S Problem mit SAX XML & JSON 6
A Problem mit JasperReport XML & JSON 6
G DOCTYPE Problem beim Transformer/TransformerFactory etc. XML & JSON 13
C XSD Problem XML & JSON 16
R Problem bei Erstellung von XML(JDOM) XML & JSON 3
R Problem mit SAX-Parser characters() XML & JSON 7
M XPath Problem im Zusammenhang mit document() XML & JSON 2
P Problem beim erstellen eines neuen Elements (JDOM) XML & JSON 5
Z Problem mit getNodeValue() und setNodeValue() in DOM XML & JSON 6
H JAXB CUSTOMIZATION PROBLEM XML & JSON 2
M XPATH und RSS (Problem namespaces) XML & JSON 7
P SAXParser problem? XML & JSON 2
S Problem beim Erstellen eines pdfs XML & JSON 3
V Problem mit xsd XML & JSON 2
P XML mit hilfe von JDOM abspeichern macht Problem XML & JSON 6
G Problem mit addContent() XML & JSON 4
B DTD Problem - Reihenfolge der Einträge XML & JSON 2
R Problem beim Auslesen von Attributen XML & JSON 4
K Problem mit ant/java web services XML & JSON 4
K xml Datei mit JDOM erzeugen, Problem Namespaces XML & JSON 1
P Problem mit XML und DOM XML & JSON 2

Ähnliche Java Themen

Neue Themen


Oben