Einzelnen Beitrag anzeigen
Alt 06.02.2008, 19:41   #5 (permalink)
MasterMito
Overclocker
 
Benutzerbild von MasterMito
 

Registriert seit: 28.03.2006
Beiträge: 234

MasterMito befindet sich auf einem aufstrebenden Ast

Standard AW: [Java]XMLEventWriter soll Zeilenumbrüche machen

so, hab auf die schnelle erstmal nur sourcecode zur hand da ich auf nem Sprung bin, vielleicht hilft das:

Code:
package xml;

import java.io.FileOutputStream;
import java.io.IOException;

import javax.xml.stream.XMLEventFactory;
import javax.xml.stream.XMLEventWriter;
import javax.xml.stream.XMLOutputFactory;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.events.XMLEvent;
import java.util.*;

import structures.Member;

public class IOXml {
	
	/* non-static declarations*/
	static private IOXml theInstance = null;

	public structures.Club getClub(){
	return null;
		 }

	/**
	 * Put a club into an XML File with clubname, clubaddress, and director.
	 * 
	 * @param club	The club to put
	 * @throws <code>IOException</code>	Will thrown if something went wrong, 
	 * like wrong letters
	 * @throws <code>XMLStreamException</code>	Will thrown if something went
	 *  wrong while streaming
	 */
	public void putClub(structures.Club club) throws XMLStreamException, 
			IOException {
		XMLOutputFactory factory = XMLOutputFactory.newInstance();
		XMLEventWriter writer = 
				factory.createXMLEventWriter(new FileOutputStream("Club.xml"));
		XMLEventFactory eventFactory = XMLEventFactory.newInstance();
		
		XMLEvent header = eventFactory.createStartDocument();
		XMLEvent startRoot = eventFactory.createStartElement("", "","club");
		XMLEvent endRoot = eventFactory.createEndDocument();
		XMLEvent startClubName = 
				eventFactory.createStartElement("", "", "clubname");
		XMLEvent endClubName = 
				eventFactory.createEndElement("", "", "clubName");
		XMLEvent startAddress = 
				eventFactory.createStartElement("", "", "address");
		XMLEvent endAddress = eventFactory.createEndElement("", "", "address");
		XMLEvent startStreet = 
				eventFactory.createStartElement("", "", "street");
		XMLEvent endStreet = eventFactory.createEndElement("", "", "street");
		XMLEvent startHouseNumber = 
				eventFactory.createStartElement("", "", "houseNumber");
		XMLEvent endHouseNumber = 
				eventFactory.createEndElement("", "", "houseNumber");
		XMLEvent startPostalCode = 
				eventFactory.createStartElement("", "", "postalCode");
		XMLEvent endPostalCode = 
				eventFactory.createEndElement("", "", "postalCode");
		XMLEvent startTown = eventFactory.createStartElement("", "", "town");
		XMLEvent endTown = eventFactory.createEndElement("", "", "town");
		XMLEvent startEmailAddress = 
				eventFactory.createStartElement("", "", "emailAddress");
		XMLEvent endEmailAddress = 
				eventFactory.createEndElement("", "", "emailAddress");
		XMLEvent startDirectorsName = 
				eventFactory.createStartElement("", "", "directorsName");
		XMLEvent endDirectorsName = 
				eventFactory.createEndElement("", "", "directorsName");
		XMLEvent name = 
				eventFactory.createCharacters(club.getName());
		XMLEvent street = eventFactory.createCharacters(
				club.getAddress().getStreet());
		XMLEvent houseNumber = eventFactory.createCharacters(
				club.getAddress().getHouseNumber());
		XMLEvent postalCode = eventFactory.createCharacters(
				club.getAddress().getPostalCode());
		XMLEvent town = eventFactory.createCharacters(
				club.getAddress().getTown());
		XMLEvent emailAddress = eventFactory.createCharacters(
				club.getAddress().getEmailAddress());
		XMLEvent clubDirector = eventFactory.createCharacters(
				club.getDirectorsName());
		
		writer.add(header);
		writer.add(startRoot);
		writer.add(startClubName);
			writer.add(name);
		writer.add(endClubName);
		writer.add(startAddress);
			writer.add(startStreet);
				writer.add(street);
			writer.add(endStreet);
			writer.add(startHouseNumber);
				writer.add(houseNumber);
			writer.add(endHouseNumber);
			writer.add(startPostalCode);
				writer.add(postalCode);
			writer.add(endPostalCode);
			writer.add(startTown);
				writer.add(town);
			writer.add(endTown);
			writer.add(startEmailAddress);
				writer.add(emailAddress);
			writer.add(endEmailAddress);
		writer.add(endAddress);
		writer.add(startDirectorsName);
			writer.add(clubDirector);
		writer.add(endDirectorsName);
		writer.add(endRoot);
		writer.close();
	}

	/**
	 * Put an actual memberlist into an XML file and set to every member the
	 * new progress in the progress bar and show the actual name in the 
	 * progress bar. After putting all members, the progress bar will set to
	 * 100, that the progress bar will destroyed.
	 * 
	 * @param memberList	The memberlist to put
	 * @param progressIndicator	The progress bar
	 * @throws <code>IOException</code>	Will thrown if something went wrong, 
	 * like wrong letters
	 * @throws <code>XMLStreamException</code>	Will thrown if something went
	 *  wrong while streaming
	 */
	public void putMemberList(structures.MemberList memberList, 
				gui.ProgressIndicator progressIndicator) throws IOException, 
						XMLStreamException {
		
		XMLOutputFactory factory = XMLOutputFactory.newInstance();
		XMLEventWriter writer = factory.createXMLEventWriter(
				new FileOutputStream("MemberList.xml") );
		XMLEventFactory eventFactory = XMLEventFactory.newInstance();
		int memberCount = memberList.getNumberOfMembers();;
		String memberCount2 = String.valueOf(memberList.getNumberOfMembers());
		Member actualMember; 

		XMLEvent header = eventFactory.createStartDocument();
		XMLEvent startRoot = eventFactory.createStartElement(
				"", "", "MemberList");
		XMLEvent endRoot = eventFactory.createEndDocument();
		XMLEvent memberCount1 = eventFactory.createAttribute(
				"countOfMember", memberCount2);
		XMLEvent startMember = eventFactory.createStartElement(
				"", "", "Member");
		XMLEvent endMember = eventFactory.createEndElement(
				"", "", "member");
		XMLEvent startName = eventFactory.createStartElement("", "", "name");
		XMLEvent endName = eventFactory.createEndElement("", "", "member");
		XMLEvent startGivenName = eventFactory.createStartElement(
				"", "", "givenName");
		XMLEvent endGivenName = eventFactory.createEndElement(
				"", "", "givenName");
		XMLEvent startAddress = eventFactory.createStartElement(
				"", "", "address");
		XMLEvent endAddress = eventFactory.createEndElement("", "", "address");
		XMLEvent startStreet = eventFactory.createStartElement(
				"", "", "street");
		XMLEvent endStreet = eventFactory.createEndElement("", "", "street");
		XMLEvent startHouseNumber = eventFactory.createStartElement(
				"", "", "houseNumber");
		XMLEvent endHouseNumber = eventFactory.createEndElement(
				"", "", "houseNumber");
		XMLEvent startPostalCode = eventFactory.createStartElement(
				"", "", "postalCode");
		XMLEvent endPostalCode = eventFactory.createEndElement(
				"", "", "postalCode");
		XMLEvent startTown = eventFactory.createStartElement("", "", "town");
		XMLEvent endTown = eventFactory.createEndElement("", "", "town");
		XMLEvent startEmailAddress = eventFactory.createStartElement(
				"", "", "emailAddress");
		XMLEvent endEmailAddress = eventFactory.createEndElement(
				"", "", "emailAddress");
		XMLEvent startBirthdayYear = eventFactory.createStartElement(
				"", "", "birthDayYear");
		XMLEvent endBirthdayYear = eventFactory.createEndElement(
				"", "", "birthDayYear");
		XMLEvent startBirthdayMonth = eventFactory.createStartElement(
				"", "", "birthDayMonth");
		XMLEvent endBirthdayMonth = eventFactory.createEndElement(
				"", "", "birthDayMonth");
		XMLEvent startBirthdayDay = eventFactory.createStartElement(
				"", "", "birthDayDay");
		XMLEvent endBirthdayDay = eventFactory.createEndElement(
				"", "", "birthDayDay");
		XMLEvent startEntryDateYear = eventFactory.createStartElement(
				"", "", "entryDateYear");
		XMLEvent endEntryDateYear = eventFactory.createEndElement(
				"", "", "entryDateYear");
		XMLEvent startEntryDateMonth = eventFactory.createStartElement(
				"", "", "entryDateMonth");
		XMLEvent endEntryDateMonth = eventFactory.createEndElement(
				"", "", "entryDateMonth");
		XMLEvent startEntryDateDay = eventFactory.createStartElement(
				"", "", "entryDateDay");
		XMLEvent endEntryDateDay = eventFactory.createEndElement(
				"", "", "entryDateDay");
		XMLEvent startGroup = eventFactory.createStartElement(
				"", "", "group");
		XMLEvent endGroup = eventFactory.createEndElement(
				"", "", "group");
		XMLEvent startStatus = eventFactory.createStartElement(
				"", "", "status");
		XMLEvent endStatus = eventFactory.createEndElement("", "", "status");
		
		progressIndicator.show();
		writer.add(header);
		writer.add(startRoot);
		writer.add(memberCount1);
		for (int i = 0; i < memberCount; i++) {
			actualMember = memberList.getMember(i);
			progressIndicator.setPercentage((i*100/memberCount));
			progressIndicator.setStepText(actualMember.getName());
			XMLEvent name = eventFactory.createCharacters(actualMember.getName());
			XMLEvent givenName = eventFactory.createCharacters(
					actualMember.getGivenName());
			XMLEvent street = eventFactory.createCharacters(
					actualMember.getAddress().getStreet());
			XMLEvent houseNumber = eventFactory.createCharacters(
					actualMember.getAddress().getHouseNumber());
			XMLEvent postalCode = eventFactory.createCharacters(
					actualMember.getAddress().getPostalCode());
			XMLEvent town = eventFactory.createCharacters(
					actualMember.getAddress().getTown());
			XMLEvent emailAddress = eventFactory.createCharacters(
					actualMember.getAddress().getEmailAddress());
			XMLEvent birthDayYear = eventFactory.createCharacters(
					String.valueOf(actualMember.getBirthday().get(
							Calendar.YEAR)));
			XMLEvent birthDayMonth = eventFactory.createCharacters(
					String.valueOf(actualMember.getBirthday().get(
							Calendar.MONTH)));
			XMLEvent birthDayDay = eventFactory.createCharacters(
					String.valueOf(actualMember.getBirthday().get(
							Calendar.DATE)));
			XMLEvent entryDateYear = eventFactory.createCharacters(
					String.valueOf(actualMember.getEntryDay().get(
							Calendar.YEAR)));
			XMLEvent entryDateMonth = eventFactory.createCharacters(
					String.valueOf(actualMember.getEntryDay().get(
							Calendar.MONTH)));
			XMLEvent entryDateDay = eventFactory.createCharacters(
					String.valueOf(actualMember.getEntryDay().get(
							Calendar.DATE)));
			XMLEvent group = eventFactory.createCharacters(
					actualMember.getGroup().toString());
			XMLEvent status = eventFactory.createCharacters(
					actualMember.getStatus().toString());
			
			writer.add(startMember);
			writer.add(startName);
				writer.add(name);
			writer.add(endName);
			writer.add(startGivenName);
				writer.add(givenName);
			writer.add(endGivenName);
			writer.add(startAddress);
				writer.add(startStreet);
					writer.add(street);
				writer.add(endStreet);
				writer.add(startHouseNumber);
					writer.add(houseNumber);
				writer.add(endHouseNumber);
				writer.add(startPostalCode);
					writer.add(postalCode);
				writer.add(endPostalCode);
				writer.add(startTown);
					writer.add(town);
				writer.add(endTown);
				writer.add(startEmailAddress);
					writer.add(emailAddress);
				writer.add(endEmailAddress);
			writer.add(endAddress);
			writer.add(startBirthdayYear);
				writer.add(birthDayYear);
			writer.add(endBirthdayYear);
			writer.add(startBirthdayMonth);
				writer.add(birthDayMonth);
			writer.add(endBirthdayMonth);
			writer.add(startBirthdayDay);
				writer.add(birthDayDay);
			writer.add(endBirthdayDay);
			writer.add(startEntryDateYear);
				writer.add(entryDateYear);
			writer.add(endEntryDateYear);
			writer.add(startEntryDateMonth);
				writer.add(entryDateMonth);
			writer.add(endEntryDateMonth);
			writer.add(startEntryDateDay);
				writer.add(entryDateDay);
			writer.add(endEntryDateDay);
			writer.add(startGroup);
				writer.add(group);
			writer.add(endGroup);
			writer.add(startStatus);
				writer.add(status);
			writer.add(endStatus);
			writer.add(endMember);
		}
		writer.add(endRoot);
		writer.close();
		progressIndicator.setPercentage(100);
	}

	public structures.MemberList getMemberList(gui.ProgressIndicator progressIndicator) {
	return null;
		 }

	static public xml.IOXml getInstance() {
		if (theInstance == null) {
			theInstance = new IOXml();
		}
		return theInstance;
	}
	protected IOXml() {	}	
}
hoffe das hilft. zu 2. 3. mache ich mir unterwegs gedanken... Aber schonmal dickers merci
MasterMito ist offline   Mit Zitat antworten