Gerando xml com células repetidas

2 respostas
A

Pessoal,

estou tentando criar a estrutura abaixo com o jdom, mas estou com problemas na “saída” pois as células () tem o mesmo nome e o conteúdo acaba sendo sempre da última célula. Poderiam me ajudar? Eu nunca usei o Jdom.

Parametro 1 100 399 345

------- meu fonte:

Element teste= new Element(teste);

Element row = new Element(row);

Element cell = new Element(cell);
row.setAttribute(id,a);

cell.setText(parametro 1);

cell.setText(2222);

cell.setText(3333);

cell.setText(4444);

row.addContent(cell);
teste.addContent(row);

//Criando o documento XML (montado)

Document doc = new Document();

doc.setRootElement(teste);

Saída:

<?xml version="1.0" encoding="UTF-8"?> 4444

2 Respostas

X
Element teste= new Element("teste");
Element row = new Element("row");
Element cell = new Element("cell");

row.setAttribute("id","a");
cell.setText("parametro 1");
cell.setText("2222");
cell.setText("3333");
cell.setText("4444");

row.addContent(cell);
teste.addContent(row);

//Criando o documento XML (montado)
Document doc = new Document();
doc.setRootElement(teste);

Você está apenas alterando o texto e nao está adicionando no "row"

tenta assim:

Element teste= new Element("teste");
Element row = new Element("row");
Element cell = new Element("cell");

row.setAttribute("id","a");
cell.setText("parametro 1");
row.addContent(cell);//add cada cell novo
cell.setText("2222");
row.addContent(cell);
cell.setText("3333");
row.addContent(cell);
cell.setText("4444");
row.addContent(cell);

teste.addContent(row);

//Criando o documento XML (montado)
Document doc = new Document();
doc.setRootElement(teste);

Na verdade nunca utilizei o jdom tb... mas analisando pela lógica acho que é isso...

flws

Fernando_Generoso_da

xxta,

eu também nunca trabalhei com o JDOM, mas desconfio q desta forma que tu fez, tmb nao irá funcionar. Como em java a passagem de parâmetro é por referência, tu setando o mesmo cell sempre, tu estará alterando sempre o mesmo valor no mesmo endereço de memória. Assim, a menos que a API, no método addContent pegue esse valor e crie um novo objeto, eu acho que dessa forma se não ficar o xml com um cell apenas, irá ficar com vários cell, mas com o mesmo valor, o último. Se eu estiver errado, me corrijam por favor…

Fernando Rosa

Criado 27 de julho de 2008
Ultima resposta 28 de jul. de 2008
Respostas 2
Participantes 3