Res: Re: Res: Re: [java-list] Java e XML
Obrigado Paulo, eu entendi agora. hrhr agora eu to tentando fazer com que onde vc coloca ai a tags, eu to tentando colocaar uma variável onde eu paso parametro para ekle pegar direto do BD, entendeu... quer dizer se eu la onde coloco lá a variavel onde as tags são geradas acho que dai ele gera a partir do que tenho no BD ne..quer dizer os elementos serão os campos que tenho no BD ... fazendo um for eu trago dinamicamente é isso né... giuliano ---Mensagem original--- De: [EMAIL PROTECTED] Data: sexta-feira, 25 de outubro de 2002 14:10:21 Para: [EMAIL PROTECTED] Assunto: Re: Res: Re: [java-list] Java e XML Giuliano,Dê uma olhada no histórico do email, e veja, acreditoque foi vc mesmo que perguntou. Como faria para gerarum arquivo xml dinâmicamente, ou seja, dentro da suaaplicação vc deseja criar um arquivo xml e gravá-lo emdisco. No caso do exemplo estou criando um arquivo nodiretório c:\temp\teste.xml. Estou inserindo oseguintes nós:nó raiz = raizum elemento com o nome de teste1um Text com o conteúdo Textoresultado do xml: teste2OK?Paulo Silveira--- Giuliano <[EMAIL PROTECTED]> wrote:> Paulo Silveira..> to tentando executar esse exemplo que vc enviou,> colocando meus um arq.xml> que criei, mas não to entendendo tb, vc poderia me> falar o que esse codigo> faria??quer executando o que ele teria que fazer..??> abraços> Giuliano> > ---Mensagem original---> > De: [EMAIL PROTECTED]> Data: terça-feira, 22 de outubro de 2002 01:36:29> Para: [EMAIL PROTECTED]; Bruno Borges> Assunto: Re: [java-list] Java e XML> > Aí vai um exemplo:> > import javax.xml.parsers.*;> import javax.xml.transform.*;> import org.w3c.dom.*;> import java.io.*;> import javax.xml.transform.dom.*;> import javax.xml.transform.stream.*;> > public class TesteXML {> > public static void main(String[] args) {> try {> DocumentBuilderFactory factory => DocumentBuilderFactory.newInstance();> DocumentBuilder builder => factory.newDocumentBuilder();> Document document = builder.newDocument();> > Node raiz => document.createElement("raiz");> Node no1 => document.createElement("teste1");> Node no2 => document.createTextNode("Texto");> no1.appendChild(no2);> raiz.appendChild(no1);> document.appendChild(raiz);> > TransformerFactory transFactory => TransformerFactory.newInstance();> Transformer transformer => transFactory.newTransformer();> DOMSource source = new> DOMSource(document);> File newXML = new> File("C:\\Temp\\teste.xml");> FileOutputStream os = new> FileOutputStream(newXML);> StreamResult result = new> StreamResult(os);> transformer.transform(source, result);> } catch (Exception e) {> e.printStackTrace();> } > }> }> > Atenciosamente,> Paulo> > --- Bruno Borges <[EMAIL PROTECTED]> wrote:> > fala serio neh... metodo lusitano!!!> > > > com o DOM dah sim pra criar um xml> dinamicamente...> > > > a desvantagem eh q se o arkivo ficar muito grande,> > vai dar OutOfMemoryError> > > > o DOM eh pesadinhu... ;)> > > > para arkivos grandes usa-se o SAX... mas esse eu> jah> > nao tenho certeza> > quanto a criação de xml... ;(> > > > - Original Message -> > From: > > To: <[EMAIL PROTECTED]>> > Sent: Friday, October 18, 2002 12:56 PM> > Subject: Re: [java-list] Java e XML> > > > > > > Caro Giuliano,> > >> > > Não é necessário utilizar DOM para escrever um> > XML.> > > Somente se utiliza o DOM para fazer a leitura do> > > mesmo, já que o XML é um aquivo texto comum> > formatado.> > >> > >> > > Segue abaixo um exemplo de geração de um xml.> > >> > > Vector vetorUsuario => preencheVetorUsuarioDoBd();> > >> > > StringBuffer str = new StringBuffer("> > > quantidade=\"");> > > str.append(vetorUsuario.size());> > > str.append("\">");> > >> > > for (int i=0; i> > > StUsuario usuario => > vetorUsuario.getElementAt(i);> > > str.append(" \n");> > > str.append(" ");> > > str.append(usuario.getCodigo());> > > str.append("\n");> > > str.append(" ");> > > str.append(usuario.getNome());> > > str.append("\n");> > > str.append(" \n");> > > }> > >> > > str.append("");> > >> > > System.out.println(str.toString());> > >> > > A saída deverá ser:> > > > > > > > > 1> > > Roberto> > > > > > > > > 2> > > Renata> > > > > > > > > 3> > > Patricia> > > > > > > > >> > >> > > Espero ter ajudado.> > >> > > Roberto Vieira de Figueiredo> > >> >
Res: Re: Res: Re: [java-list] Java e XML
heheh mais Uma vez Obrigado Paulo valeu pela dica, mas eu ja estava olhando, estudando isso no site da propria sun.. é meio complicado de entender a especificação e a documentação que a sun traz justamente por não colocarem exemplos lá né... dai fico meio perdido em saber por exemplo qual classe uso e pra que uso..mas vai dar certo, curioso eu sou de natureza.. mas as vezes a gente precisa de uma luz né hehe.. mas valeu colega...vc ajudou muitoomesmo.. abraços Giuliano ---Mensagem original--- De: [EMAIL PROTECTED] Data: sexta-feira, 25 de outubro de 2002 15:57:31 Para: [EMAIL PROTECTED] Assunto: Re: Res: Re: [java-list] Java e XML Giuliano, vale a pena dar um pesquisada na net,experimente olhar no site: http://java.sun.com/xml,acredito que duas caracteristicas de um bom análistade sistemas seja: persistência e ser autodidata.Aí vai um exemplo de como navegar pelo documento xml,primeiro com a API DOM e após com SAX, lembrando queDOM cria a árvore do xml em memória, deve ser isto quevc esta procurando. import java.io.File;import org.w3c.dom.*;import javax.xml.parsers.*;public class DomTesteSimples {public static void main(String[] argv){String fileName = "c:\\temp\\teste.xml";DocumentBuilderFactory factory =DocumentBuilderFactory.newInstance();try {DocumentBuilder builder =factory.newDocumentBuilder();/* Com o objeto document vc pode navegaratravés dos nós,* obter a lista de nós filhos (getChildNodes() )* obter o nome de um determinado nó:*document.getChildNodes().item(0).getNodeName();* obter o conteúdo de um determinado nó:*document.getChildNodes().item(0).getNodeValue();* ...*/Document document = builder.parse( newFile(fileName) );NodeList nodes =document.getDocumentElement().getChildNodes();makeList(nodes);} catch (Exception e) {e.printStackTrace();} }public static void makeList(NodeList nodes){for (int i = 0; i < nodes.getLength(); i++){Node node = nodes.item(i);if (node != null && node.getNodeType() ==Node.ELEMENT_NODE){System.out.println("ELEMENTO: " +node.getNodeName());NodeList childs = node.getChildNodes();makeList(childs);} else if (node!=null &&node.getNodeType() == Node.TEXT_NODE) {// pulando quebras de linhas do xmlif(!node.getNodeValue().trim().equals("")) {System.out.println("TEXTO: " +node.getNodeValue()); }** o outro exemplo: **import javax.xml.parsers.*;import org.xml.sax.*;import org.xml.sax.helpers.*;import java.io.*;public class SAXTesteSimples {public SAXTesteSimples(){try {SAXParserFactory factory =SAXParserFactory.newInstance();SAXParser parser = factory.newSAXParser();DefaultHandler dh = newSAXTesteSimplesHandler();parser.parse(newFile("c:\\temp\\teste.xml"), dh); parser.getXMLReader();} catch(ParserConfigurationException pce) {pce.printStackTrace();} catch (SAXException saxe) {saxe.printStackTrace();} catch (IOException ioe) {ioe.printStackTrace();}}public static void main(String arg[]){new SAXTesteSimples();}public class SAXTesteSimplesHandler extendsDefaultHandler {/* Olhe na documentação os métodos que podem * ser sobre escritos.*/public void startElement(String uri, StringlocalName, String name, Attributes attrs) {System.out.println(name);}public void characters(char[] ch, int start,int length) {if (!(new String(ch, start,length).trim().equals("")))System.out.println(new String(ch,start, length).trim());}}}OK?Paulo Silveira--- Giuliano <[EMAIL PROTECTED]> wrote:> caro Paulo..> obrigado pelo seu exemplo que me enviou...> mas ainda fico com uma duvida...> seguinte...gerar o arq.xml eu fiz aqui de 2 formas ,> uma fiz uma classe que> tem acese ao meu BD, e concatenado as tags gero o> xml certo, e tb a outra> maneira usei> o XSQL não sei se vc conhece..., dessas duas> maneiras deu certo e consigo> gerar o meu doc.Xml.., na primeira quando fiz a> classe não usei nehum> package de xml, é apenas uma classe que concatena as> tags ta ai gerei o> xml..dessa maneira assim ta correto eu trabalhar???> a duvida é como então> depois de gerado o xml eu faço para ler e> interpretar eses xml, por exemplo> pesquisar dentro dos nodes dele..por exemplo se> tenho la um xml gerado pela> classe ou pelo XSQL:> > Giuliano> Giuliano> Giuliano> > dai eu quero ler esse xml e mostra-lo na tela...> como eu fraia isso isso que> ta me deixando meio desorientado, como mandar> analizar, ler