Spaceman85
Mitglied
Habe folgendes Problem.
Wenn ich meiner Methode nur ein Element übergebe, sprich vector.size() =1 dann wird der xml tag geschrieben und ich habe ein korrektes xml Dokument, wenn aber der die Elemente im Vector >1 sind dann schreibt er die tags zwar auch, aber beim aufrufen der xml Datei wird mir gesagt das diese nicht korrekt sei und so ist sie unbrauchbar.
Ich verstehe nicht wo das Problem liegt!
public void writeXML(Vector<FilmData> fd) throws FileNotFoundException, XMLStreamException{
out=new FileOutputStream("film.xml");
factory=XMLOutputFactory.newInstance();
writer = factory.createXMLEventWriter(out);
eventFactory = XMLEventFactory.newInstance();
endDocument = eventFactory.createEndDocument();
//header
header = eventFactory.createStartDocument();
writer.add( header );
for(int i=0;i<fd.size();i++){
startElement = eventFactory.createStartElement( "", "", "film" );
titleAttribut = eventFactory.createAttribute( "titel", fd.elementAt(i).getName() );
genreAttribut = eventFactory.createAttribute( "genre", fd.elementAt(i).getGenre() );
yearAttribut = eventFactory.createAttribute( "jahr", fd.elementAt(i).getYear() );
placeAttribut = eventFactory.createAttribute( "mappe", fd.elementAt(i).getPlace() );
endElement = eventFactory.createEndElement( "", "", "film" );
writer.add( startElement );
writer.add(titleAttribut);
writer.add( genreAttribut );
writer.add( yearAttribut );
writer.add( placeAttribut );
writer.add( endElement );
System.out.println(fd.elementAt(i).getName());
}
writer.add( endDocument );
writer.close();
}
Wenn ich meiner Methode nur ein Element übergebe, sprich vector.size() =1 dann wird der xml tag geschrieben und ich habe ein korrektes xml Dokument, wenn aber der die Elemente im Vector >1 sind dann schreibt er die tags zwar auch, aber beim aufrufen der xml Datei wird mir gesagt das diese nicht korrekt sei und so ist sie unbrauchbar.
Ich verstehe nicht wo das Problem liegt!
public void writeXML(Vector<FilmData> fd) throws FileNotFoundException, XMLStreamException{
out=new FileOutputStream("film.xml");
factory=XMLOutputFactory.newInstance();
writer = factory.createXMLEventWriter(out);
eventFactory = XMLEventFactory.newInstance();
endDocument = eventFactory.createEndDocument();
//header
header = eventFactory.createStartDocument();
writer.add( header );
for(int i=0;i<fd.size();i++){
startElement = eventFactory.createStartElement( "", "", "film" );
titleAttribut = eventFactory.createAttribute( "titel", fd.elementAt(i).getName() );
genreAttribut = eventFactory.createAttribute( "genre", fd.elementAt(i).getGenre() );
yearAttribut = eventFactory.createAttribute( "jahr", fd.elementAt(i).getYear() );
placeAttribut = eventFactory.createAttribute( "mappe", fd.elementAt(i).getPlace() );
endElement = eventFactory.createEndElement( "", "", "film" );
writer.add( startElement );
writer.add(titleAttribut);
writer.add( genreAttribut );
writer.add( yearAttribut );
writer.add( placeAttribut );
writer.add( endElement );
System.out.println(fd.elementAt(i).getName());
}
writer.add( endDocument );
writer.close();
}