Serialization em um XML reduzido

Estou fazendo um miniGame com direito a um editor de niveis que permita ao usuario salvar suas edições.
Pensei em usar o XStream para salvar os objetos, mas tornaria os arquivos XML desnecessariamente extensos. Tem algum meio de salvar e dpois ler arquivos em formato simplificado, como posicao? Ex.:

[quote]
0,0
2,0
…[/quote]

ou uma versão mais reduzida como:

[quote]P(0,0)
O(2,0)
…[/quote]

Eu não sei se entendi muito bem o que você quer…

De qualquer forma…

Com o Xstream, você pode definir aliases para os elementos do xml.
Dessaforma, você poderia ter algo como

<nvl1>
    <p>0,0</p>
    <o>2,0</o>
</nvl1>

Ficaria menor assim.

Abraços.

Você pode usar o id references do Xtream:

xstream.setMode(XStream.ID_REFERENCES);

http://xstream.codehaus.org/graphs.html

valeu pessoal, vou testar e em breve posto o resultado.

eu consegui criar o XML como eu queria usando Converter

[code]public class Conversor implements Converter {

public boolean canConvert(Class classe) {
	if(classe.getGenericSuperclass().equals(Quadrado.class))
		return true;
	return false;
}

public void marshal(Object objeto, HierarchicalStreamWriter escritor,
		MarshallingContext contexto) {
	escritor.setValue(objeto.toString());
}[/code]

o resultado fica assim:

<list> <Pe>0,0</Pe> <A>-3,0</A> <F>-2,0</F> <F>-1,0</F> <F>0,0</F> <F>1,0</F> <F>2,0</F> <A>3,0</A> <C>1,0</C> <C>-1,0</C> <Pa>-4,0</Pa> <Pa>4,0</Pa> <Pa>-4,1</Pa> <Pa>-3,1</Pa> <Pa>-2,1</Pa> <Pa>-1,1</Pa> <Pa>0,1</Pa> <Pa>1,1</Pa> <Pa>2,1</Pa> <Pa>3,1</Pa> <Pa>4,1</Pa> <Pa>-4,-1</Pa> <Pa>-3,-1</Pa> <Pa>-2,-1</Pa> <Pa>-1,-1</Pa> <Pa>0,-1</Pa> <Pa>1,-1</Pa> <Pa>2,-1</Pa> <Pa>3,-1</Pa> <Pa>4,-1</Pa> </list>

O problema é pra desfazer o processo! eu n consigo, por exemplo, pegar a tag 0,0 e transformar em uma instancia da classe Personagem e, em seguida, instanciar a classe Alvo apartir da tag -3,0.
Como criar instancias de classes q podem variar? Uma hora eu preciso que o metodo me retorne um personagem, outra hora um alvo, dpois uma caixa, parede, etc…
No tutorial do site do XStream ele ensina a usar o metodo unmarshal, mas a classe a instanciar é fixa (Person).

public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) { Person person = new Person(); reader.moveDown(); person.setName(reader.getValue()); reader.moveUp(); return person; }

Amigo, não entendi ainda como é que são seus dados no XML. Se eu fosse desenhar um XML, iria primeiro desenhar uma árvore contendo os dados primeiro; do jeito que você fez, um arquivo-texto já resolveria seu problema, já que tem apenas um nível.

tem apenas um nivel pq eu ainda nao estendi o jogo, e isso n interfere no problema. Como criar a instancia da classe indicada pelo XML?