Pessoal é o seguinte:
Pedi ajuda aqui no site sobre XML e fui muito bem atendido. Me indicaram várias APIs para XML e fiz uns testes verificando qual se adequaria melhor para minha situação, e a vencedora foi JDOM.
Me deparei com um problema:
O código que fiz e que está abaixo:
[code]public static void main(String[] args) {
// TODO Auto-generated method stub
Element Canal = new Element("Canal");
Element NomeCanal = new Element("NomeCanal");
Element ImgCanal = new Element("ImgCanal");
Element DescrCanal = new Element("DescrCanal");
Element Programa = new Element ("Programa");
Element HoraInicio = new Element("HoraInicio");
Element NomePrograma = new Element("NomePrograma");
Element DescrPrograma = new Element("DescrPrograma");
Element Classificacao = new Element("Classificacao");
//"Setando" os atributos das tags de Canal
NomeCanal.setText("Rede Globo");
ImgCanal.setText("c:\teste.jpg");
DescrCanal.setText("Diversão para a família");
//Passa ao Canal as tags na ordem em que serao montadas
Canal.addContent(NomeCanal);
Canal.addContent(ImgCanal);
Canal.addContent(DescrCanal);
//Setando atributos das tags de Programa
HoraInicio.setText("10:10");
NomePrograma.setText("TV Globinho");
DescrPrograma.setText("Programa dedicado ao divertimento infantil");
Classificacao.setText("Livre");
//Define quais tags estarao dentro da tag programa
Programa.addContent(HoraInicio);
Programa.addContent(NomePrograma);
Programa.addContent(DescrPrograma);
Programa.addContent(Classificacao);
//Passa para a Tag Canal o Valor da Tag Programa
Canal.addContent(Programa);
//Criando o documento XML (montado)
Document doc = new Document();
doc.setRootElement(Canal);
//Escreve o documento XML em arquivo
FileOutputStream ArquivoEscrita = null;
try {
ArquivoEscrita = new FileOutputStream("C:\codigo1.xml");
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
//Escrevendo o XML
XMLOutputter xout = new XMLOutputter();
try {
xout.output(doc, ArquivoEscrita);
System.out.println("Arquivo criado com sucesso");
} catch (IOException e) {
e.printStackTrace();
}
}[/code]
Ele cria o seguinte XML pra mim:
[code]-
Rede Globo
c:\teste.jpg
Diversão para a família
- 10:10 TV Globinho Programa dedicado ao divertimento infantil Livre [/code]
A minha tag Programa deve ser repetida (as informações de dentro dela serão diferentes), só que já tentei de várias formas e não consegui.
O meu XML deveria ficar assim…
[code]-
Rede Globo
c:\teste.jpg
Diversão para a família
- 10:10 TV Globinho Programa dedicado ao divertimento infantil Livre
- 09:10 Mais Você Programa de culinária Livre [/code]
O erro que dá é
The Content already has an existing parent “Programa”
Não consegui fazer isso…se alguém puder me ajudar desde já agradeço.