GUJ
Notícias, artigos e o maior fórum brasileiro sobre Java
home
fórum
notícias
tópicos recentes
empregos
artigos
Bem-vindo ao GUJ.
Crie seu login
, ou digite-o para logar no site.
Usuário:
Senha:
Commons Digester para ler, XML Vomiter para escrever
Índice dos Fóruns
»
Java Básico
Autor
Mensagem
27/12/2004 21:37:09
Assunto:
Commons Digester para ler, XML Vomiter para escrever
renatosilva
GUJ Master
Membro desde: 16/12/2004 17:09:19
Mensagens: 1787
Offline
O que acham do seguinte código:
package br.com.yahoo.renato3110.xmlvomiter.demo; import java.util.*; import br.com.yahoo.renato3110.xmlvomiter.*; public class VomitDemo { class Evangelion implements Vomitable { public String name; public String type; public String pilot; public Evangelion (String name, String type, String pilot) { this.name = name; this.type = type; this.pilot = pilot; } public String getAsXML(XMLFormatter f){ StringBuffer sb = new StringBuffer(); sb.append(f.formatAs("type", type)).append("\n"); sb.append(f.formatAs("pilot", pilot)); f.addAttribute("name", name); f.setIndent(true); return f.formatAs("evangelion", sb.toString()); } } public VomitDemo() { List l = new LinkedList(); l.add(new Evangelion("Eva-00", "Prototype", "Rei Ayanami")); l.add(new Evangelion("Eva-02", "Production", "Asuka Langley Soryu")); l.add(new Evangelion("Eva-03", "S2 Engine", "Touji Suzuhara")); l.add(new Evangelion("Eva-04", "S2 Engine", "Kaworu?")); l.add(new Evangelion("Eva-05", "Mass Production", "Dummy Plug")); l.add(new Evangelion("Eva-06", "Mass Production", "Dummy Plug")); l.add(new Evangelion("Eva-07", "Mass Production", "Dummy Plug")); l.add(new Evangelion("Eva-08", "Mass Production", "Dummy Plug")); l.add(new Evangelion("Eva-09", "Mass Production", "Dummy Plug")); l.add(new Evangelion("Eva-10", "Mass Production", "Dummy Plug")); l.add(new Evangelion("Eva-11", "Mass Production", "Dummy Plug")); l.add(new Evangelion("Eva-12", "Mass Production", "Dummy Plug")); l.add(new Evangelion("Eva-13", "Mass Production", "Dummy Plug")); XMLFormatter f = new XMLFormatter(); f.setIndent(true); f.addCData("Neon Genesis Evangelion\nGod is in his sky. It'a all right with the world."); f.addComment("Zankoku na tenshi no teeze\nShounen yo shinwa ni nare"); f.addElement("evangelions", "default-evangelion", l); f.addDeclaration("<?xml version=\"1.0\"?>"); f.addDeclaration("<!--Evangelions como XML:-->"); System.out.println(f.formatAs("evangelion-world")); // No caso abaixo não precisamos definir um elemento pai de evangelions, mas o conteúdo // adicionado por addCData ficaria fora do elemento raiz o que invalida um XML // System.out.println(f.getDeclarations() + "\n" + f.getContent()); } public static void main(String[] args) { new VomitDemo(); } }
Que gerou a seguinte saída:
<?xml version="1.0"?> <!--Evangelions como XML:--> <evangelion-world> <![CDATA[ Neon Genesis Evangelion God is in his sky. It'a all right with the world. ]]> <!-- Zankoku na tenshi no teeze Shounen yo shinwa ni nare --> <evangelions> <evangelion name="Eva-00"> <type>Prototype</type> <pilot>Rei Ayanami</pilot> </evangelion> <evangelion name="Eva-02"> <type>Production</type> <pilot>Asuka Langley Soryu</pilot> </evangelion> <evangelion name="Eva-03"> <type>S2 Engine</type> <pilot>Touji Suzuhara</pilot> </evangelion> <evangelion name="Eva-04"> <type>S2 Engine</type> <pilot>Kaworu?</pilot> </evangelion> <evangelion name="Eva-05"> <type>Mass Production</type> <pilot>Dummy Plug</pilot> </evangelion> <evangelion name="Eva-06"> <type>Mass Production</type> <pilot>Dummy Plug</pilot> </evangelion> <evangelion name="Eva-07"> <type>Mass Production</type> <pilot>Dummy Plug</pilot> </evangelion> <evangelion name="Eva-08"> <type>Mass Production</type> <pilot>Dummy Plug</pilot> </evangelion> <evangelion name="Eva-09"> <type>Mass Production</type> <pilot>Dummy Plug</pilot> </evangelion> <evangelion name="Eva-10"> <type>Mass Production</type> <pilot>Dummy Plug</pilot> </evangelion> <evangelion name="Eva-11"> <type>Mass Production</type> <pilot>Dummy Plug</pilot> </evangelion> <evangelion name="Eva-12"> <type>Mass Production</type> <pilot>Dummy Plug</pilot> </evangelion> <evangelion name="Eva-13"> <type>Mass Production</type> <pilot>Dummy Plug</pilot> </evangelion> </evangelions> </evangelion-world>
Dífícil? Fácil? Horrível? Legalzinho? Este tópico é horrível?
27/12/2004 21:44:16
Assunto:
Re: Commons Digester para ler, XML Vomiter para escrever
Rafael Steil
Administrador
Membro desde: 31/08/2002 02:35:53
Mensagens: 5984
Localização: São Paulo
Offline
Hm, acho que
http://xstream.codehaus.org/
ja faz isso para vc
Rafael
"working code attracts people who want to code. Design documents attract people who want to talk about coding -
Charles Miller
"
http://rafaelsteil.com
http://twitter.com/rafaelsteil
http://www.jforum.net
http://www.flickr.com/photos/rafaelsteil
Índice dos Fóruns
»
Java Básico
Ir para:
Selecione um Fórum
Notícias
Assuntos gerais (Off-topic)
MundoJ - Artigos, Notícias e Debates
Artigos e Tutoriais
Java Básico
Java Avançado
Ferramentas, Frameworks e Utilitários
Desenvolvimento Web
Interface Gráfica
Google Android e Java Micro Edition (ME)
Certificação Java
Persistência: Hibernate, JPA, JDBC e outros
Java Enterprise Edition (Java EE)
Frameworks e Bibliotecas brasileiros
RIA - Flex, JavaFX e outros
Arquitetura de Sistemas
Metodologias de Desenvolvimento e Testes de Software
JavaScript
Ruby & Ruby on Rails
Outras Linguagens
Powered by
JForum 2.1.8
©
JForum Team