Re: [java-list] JAVA e XML
Bom apenas um pitaco de quem está de fora: A Apache tem um projeto de código livre chamada XIndice que vem a ser exatamente uma espécie de SGBD nativo em XML, que talvez seja um pouco próximo do que você procura. Mais informações em http://xml.apache.org/xindice/ ETA []s Lincoln Masao Muraoka Junior Analista Programador ASTI Tecnologia - Unidade de Soluções Tel.: 55 11 3031-0069 r. 232 [EMAIL PROTECTED] www.astitecnologia.com.br - Original Message - From: Carlos Santiago [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, February 05, 2003 9:02 AM Subject: [java-list] JAVA e XML Rodrigo está sua experiência com o Oracle e XML é altamente válida e gostaria sim que vc disponibilizasse os códigos que vc tem para usarmos como exemplo nas nossas discussões. Mesmo porque estou querendo montar um site de referência sobre XML e JAVA e poderíamos colocar este material lá. Sobre a minha idéia de framework (ou arquitetura) de XML com JAVA é que não haveria persistência em tabelas de um DB. Estou pensando apenas num repositório de arquivos XML, consultar e persquisar diretamente em arquivos XML, talvez, no futuro, usando o JavaSpace. Das opiniões que temos lido acerca da discussão, realmente parece que o uso do XML com JAVA para o processamento de arquivos é mais eficiente do que TXT com subString JAVA, mas o que pretendo fazer (ou mostrar num case, como vc sugeriu)é apresentar esta eficiência efetivamente. Abraço a todos Carlos Entao, Como tinha te dito. Na sexta passada comecei a fazer testes de stress com o meu sistema. Recebi um catalogo de produtos do SAP ERP com 50 000 linhas. Usando uma package Oracle li e escrevi numa tabela no meu banco tudo em menos de 2 minutos. Tambem, apos um tratamento dos dados, gerei um outro arquivo de saida txt com as 50 000 linhas em menos de 2 minutos. Com o Oracle temos a opcao de utilizar um outro utilitario chamado SQLLoader mas optei pela package UTL_FILE que me dah mais opcoes de tratamento de linha (como voce precisa, nao eh?). Se precisar te mando uns exemplos. Por outro lado, Vamos supor que voce queira criar este seu mecanismo de leitura, escrita e esteja pensando em outras utilizacoes disto. Esteja pensando tambem em usar isto como um CASE para voce e sua empresa e que ainda sejam arquivos pequenos. Use mesmo o XML! Nao vou dizer que um minimo de hard code nao tive que fazer para a package UTL_FILE ler o TXT. Carlos, usando XML, TXT, sempre o arquivo serah aberto e as linhas interpretadas, apenas a maneira que isto serah feito que eh diferente com XML. Pensando no futuro e em reutilizacao crie a DTD, os XML´s que voce vai ter bons frutos. Nao querendo cair em contradicao, quando trabalhei com XML no Oracle tambem tive que usar a mesma package UTL_FILE. Se precisar tambem tenho exemplos da UTL_FILE com XML. Voce poderia me perguntar: Mas e o Java Rodrigo? Usei uma Java Stored Procedure para direcionar o arquivo do sistema operacional para ser interpretado pela package e nada mais. Da maneira que fiz ficou tudo dentro do Banco. Prefiro assim. Nao sei se me enrolei um pouco nas palavras... Rodrigo. Rodrigo. --- [EMAIL PROTECTED] escreveu: Rodrigo, valeu a dica. Eu estava imaginando que isso seria um empecilho mesmo para um desenvolvimento em XML para arquivos TXT que já são muito grandes. Mas eu imagino que para os arquivos de pequeno porte talvez a coisa seja viável, mesmo porque eu estou pensando em reusabilidade, portabilidade e transações também. E creio que a performace deste sistema poderia melhorar consideravelmente tendo em vista que não gastaria processamento com abertura, leitura e processamento de cada linha de arquivo. O que vc acha ? Nós aqui na Secretaria de Fazenda de MT estamos migrando tudo para JAVA e Oracle. Carlos *** Carlos Santiago [EMAIL PROTECTED] Programador JAVA Equipe de Implementação - SAGETI Secretaria de Estado de Fazenda - MT *** Rodrigo Rodrigues rodrigo2naomi@yaPara: [EMAIL PROTECTED] hoo.com.br cc: Assunto: Re: [java-list] JAVA e XML 19/01/2003 17:22 Favor responder a java-list Boa tarde, Vou responder por experiencia propria, Tambem estou desenvolvendo um sistema de ETL (Extract Transform e Load). Meus arquivos tambem sao txt e provem de um ERP SAP. Tem em torno de 150 000 linhas. Eh totalmente descartada a utilizacao de XML, os arquivos no minimo quadruplicam seu tamanho. O XML eh mais adequado para transacoes, exchange e coisas do tipo nao para carga de dados. Soh por curiosidade qual o seu banco de dados, se for Oracle voce pode tratar os txt´s por pl
Re: [java-list] JAVA e XML
Envio tarde, mas pode valer... Para realizar a cópia do arquivo entre diretórios/maquinas use compressão de arquivos (em java.util.zip), tem vários exemplos na internet. Para ler o arquivo use SAX, que irá disparar um evento para cada tag/entity/comentario/pi/etc. e ai pode fazer o que quiser com essa informação. E não precisa armazenar toda a estrutura na memória (como DOM). ][s Claudio Miranda [EMAIL PROTECTED] escreveu, On 20/1/2003 09:32: Rodrigo, valeu a dica. Eu estava imaginando que isso seria um empecilho mesmo para um desenvolvimento em XML para arquivos TXT que já são muito grandes. Mas eu imagino que para os arquivos de pequeno porte talvez a coisa seja viável, mesmo porque eu estou pensando em reusabilidade, portabilidade e transações também. E creio que a performace deste sistema poderia melhorar consideravelmente tendo em vista que não gastaria processamento com abertura, leitura e processamento de cada linha de arquivo. O que vc acha ? Nós aqui na Secretaria de Fazenda de MT estamos migrando tudo para JAVA e Oracle. Carlos *** Carlos Santiago [EMAIL PROTECTED] Programador JAVA Equipe de Implementação - SAGETI Secretaria de Estado de Fazenda - MT *** Rodrigo Rodrigues rodrigo2naomi@yaPara: [EMAIL PROTECTED] hoo.com.br cc: Assunto: Re: [java-list] JAVA e XML 19/01/2003 17:22 Favor responder a java-list Boa tarde, Vou responder por experiencia propria, Tambem estou desenvolvendo um sistema de ETL (Extract Transform e Load). Meus arquivos tambem sao txt e provem de um ERP SAP. Tem em torno de 150 000 linhas. Eh totalmente descartada a utilizacao de XML, os arquivos no minimo quadruplicam seu tamanho. O XML eh mais adequado para transacoes, exchange e coisas do tipo nao para carga de dados. Soh por curiosidade qual o seu banco de dados, se for Oracle voce pode tratar os txt´s por pl/sql, tenho exemplos se precisar. Temais. --- [EMAIL PROTECTED] escreveu: Gostaria de colocar uma questão para a galera da lista. Estou num projeto que manipula conteúdo de arquivos TXT e os grava num banco de dados. Até aí, sem problemas e nem novidades. A questão é que estes conteúdos são disponibilisados em linhas, minha aplicação lê cada uma destas linhas e as sub-divide em subStrings, e cada subString é uma informação que deve ser gravada em banco. Exemplo de uma linha deste arquivo: 5002951224000104131858602 20020625MT01UN 19494616301300013221001700N Trecho de código de processamento desta linha: (...) tipo = (linha.substring(0, 2)); cpfCnpj = linha.substring(2, 16).trim(); cfop = Integer.parseInt(linha.substring(53, 56).trim()); inscEstd = (linha.substring(16, 30).trim()); (...) Estas variáveis são gravadas no banco. Como disse, até aí sem problema. Mas existem arquivos cujo tamanho variam entre 40 e 100MB com cerca de 80mil a 840mil linhas, e cada uma destas linhas deve ser lida e processada. Como eu uso File para poder ler estes arquivos o consumo de memória é alto, pois estes arquivos são carregados na memória até o fim de seu processamento e os lotes de arquivos são da ordem de 2000 a 5000 arquivos. O que não é problema, a princípio, para os servers que temos aqui. O problema, na minha opinião e gostaria de poder ler a de vcs, é que se ouver uma mudança no padrão do tamanho da linha ou algum dado fora de lugar o processamento desta linha fica comprometido. Ou no caso concreto onde a variável cfop (do exemplo acima) não terá mais tamanho 3, passando a ter tamanho 4, isso faz com que eu tenha que mudar todas as outras coordenadas de varáveis, para poder pegar a informação correta. A minha idéia era a de acabar com esse lance de
[java-list] JAVA e XML
Rodrigo está sua experiência com o Oracle e XML é altamente válida e gostaria sim que vc disponibilizasse os códigos que vc tem para usarmos como exemplo nas nossas discussões. Mesmo porque estou querendo montar um site de referência sobre XML e JAVA e poderíamos colocar este material lá. Sobre a minha idéia de framework (ou arquitetura) de XML com JAVA é que não haveria persistência em tabelas de um DB. Estou pensando apenas num repositório de arquivos XML, consultar e persquisar diretamente em arquivos XML, talvez, no futuro, usando o JavaSpace. Das opiniões que temos lido acerca da discussão, realmente parece que o uso do XML com JAVA para o processamento de arquivos é mais eficiente do que TXT com subString JAVA, mas o que pretendo fazer (ou mostrar num case, como vc sugeriu)é apresentar esta eficiência efetivamente. Abraço a todos Carlos Entao, Como tinha te dito. Na sexta passada comecei a fazer testes de stress com o meu sistema. Recebi um catalogo de produtos do SAP ERP com 50 000 linhas. Usando uma package Oracle li e escrevi numa tabela no meu banco tudo em menos de 2 minutos. Tambem, apos um tratamento dos dados, gerei um outro arquivo de saida txt com as 50 000 linhas em menos de 2 minutos. Com o Oracle temos a opcao de utilizar um outro utilitario chamado SQLLoader mas optei pela package UTL_FILE que me dah mais opcoes de tratamento de linha (como voce precisa, nao eh?). Se precisar te mando uns exemplos. Por outro lado, Vamos supor que voce queira criar este seu mecanismo de leitura, escrita e esteja pensando em outras utilizacoes disto. Esteja pensando tambem em usar isto como um CASE para voce e sua empresa e que ainda sejam arquivos pequenos. Use mesmo o XML! Nao vou dizer que um minimo de hard code nao tive que fazer para a package UTL_FILE ler o TXT. Carlos, usando XML, TXT, sempre o arquivo serah aberto e as linhas interpretadas, apenas a maneira que isto serah feito que eh diferente com XML. Pensando no futuro e em reutilizacao crie a DTD, os XML´s que voce vai ter bons frutos. Nao querendo cair em contradicao, quando trabalhei com XML no Oracle tambem tive que usar a mesma package UTL_FILE. Se precisar tambem tenho exemplos da UTL_FILE com XML. Voce poderia me perguntar: Mas e o Java Rodrigo? Usei uma Java Stored Procedure para direcionar o arquivo do sistema operacional para ser interpretado pela package e nada mais. Da maneira que fiz ficou tudo dentro do Banco. Prefiro assim. Nao sei se me enrolei um pouco nas palavras... Rodrigo. Rodrigo. --- [EMAIL PROTECTED] escreveu: Rodrigo, valeu a dica. Eu estava imaginando que isso seria um empecilho mesmo para um desenvolvimento em XML para arquivos TXT que já são muito grandes. Mas eu imagino que para os arquivos de pequeno porte talvez a coisa seja viável, mesmo porque eu estou pensando em reusabilidade, portabilidade e transações também. E creio que a performace deste sistema poderia melhorar consideravelmente tendo em vista que não gastaria processamento com abertura, leitura e processamento de cada linha de arquivo. O que vc acha ? Nós aqui na Secretaria de Fazenda de MT estamos migrando tudo para JAVA e Oracle. Carlos *** Carlos Santiago [EMAIL PROTECTED] Programador JAVA Equipe de Implementação - SAGETI Secretaria de Estado de Fazenda - MT *** Rodrigo Rodrigues rodrigo2naomi@yaPara: [EMAIL PROTECTED] hoo.com.br cc: Assunto: Re: [java-list] JAVA e XML 19/01/2003 17:22 Favor responder a java-list Boa tarde, Vou responder por experiencia propria, Tambem estou desenvolvendo um sistema de ETL (Extract Transform e Load). Meus arquivos tambem sao txt e provem de um ERP SAP. Tem em torno de 150 000 linhas. Eh totalmente descartada a utilizacao de XML, os arquivos no minimo quadruplicam seu tamanho. O XML eh mais adequado para transacoes, exchange e coisas do tipo nao para carga de dados. Soh por curiosidade qual o seu banco de dados, se for Oracle voce pode tratar os txt´s por pl/sql, tenho exemplos se precisar. Temais. --- [EMAIL PROTECTED] escreveu: Gostaria de colocar uma questão para a galera da lista. Estou num projeto que manipula conteúdo de arquivos TXT e os grava num banco de dados. Até aí, sem problemas e nem novidades. A questão é que estes conteúdos são disponibilisados em linhas, minha aplicação lê cada uma destas linhas e as sub-divide em subStrings, e cada subString é uma informação que deve ser gravada em banco. Exemplo de uma linha deste arquivo: 5002951224000104131858602 20020625MT01UN
Re: [java-list] JAVA e XML
Olá Júlio, tudo bem ? Estou lhe enviando dois arquivos. Um é apenas o XML de exemplo que tenho usado no meu projeto. O outro é um texto de como transformar o TXT num equivalente XML e depois processá-lo com o JDOM (esta parte ainda não está terminada). Qualquer contribuição será bem vinda. Abraço Carlos Ok, Tenho acompanhado a discurssão e gostaria de dar um a olhada neste material. Julio Lima Programador (GESPV) Sul América Seguros (21) 2506-9338 -- LISTA SOUJAVA -- -- http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list% 40soujava.org.br para sair da lista: envie email para java-list- [EMAIL PROTECTED] --- -- -- Carlos Santiago Programador JAVA Equipe de implementação Secretaria de Fazenda - MT -- __ E-mail Premium BOL Antivírus, anti-spam e até 100 MB de espaço. Assine já! http://email.bol.com.br/ -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
RES: [java-list] JAVA e XML
desejado br = new BufferedReader(new FileReader(nomeArquivo)); while ( (linha=br.readLine()) != null) { // Quebra a linha em parâmetros baseado no delimitador (TAB) StringTokenizer st = new StringTokenizer(linha, delimitador); // função hipotética que recebe o valor de 4 bancos e insere no banco //insereValoresNoBanco(st.nextToken(), st.nextToken(), st.nextToken(), st.nextToken()); System.out.print(st.nextToken() +- ); System.out.print(st.nextToken() +- ); System.out.println(st.nextToken()); } br.close(); } catch (IOException e) { System.out.println(Ocorreu um erro na leitura do arquivo + nomeArquivo); } } -Mensagem original- De: Carlos Santiago [mailto:[EMAIL PROTECTED]] Enviada em: segunda-feira, 3 de fevereiro de 2003 07:50 Para: [EMAIL PROTECTED] Assunto: [java-list] JAVA e XML Olá a todos. Está interessante a discussão sobre o uso de XML e JAVA para o porcessamento de arquivos TXT que havíamos proposto um tempo atrás. Das opiniões que li, parace concenso de que o uso de XML pode diminuir a carga de processamento e o consumo de memória. A excessão do David que não entendeu por que iria consumir menos memória, a explicação que tenho colhido da literatura é que diferente da classe File que carega o arquivo inteiro para a memória para processá-lo a API de XML carrega apenas o DOM e não o seu conteúdo, o que torna mais leve o consumo de memória. Mas isso tem que ser passivo de teste. Eu tenho trabalhado nesta questão e já desenvolvi uma DTD e um arquivo XML de exemplo e vou processá-lo usando o JDOM 0.8 beta. Tenho, também, desenvolvido uma documentação sobre o assunto (está na versão 0.3 e tem 25 páginas em TXT), se alguém que está participando da discussão quiser dar uma olhada neste material me avise e eu mando o material. Abraço Carlos -- Carlos Santiago Programador JAVA Equipe de implementação Secretaria de Fazenda - MT -- -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
[java-list] JAVA e XML - documentação
Quero agradecer a todos os que se interessaram pela documentação acerca do uso de JAVA para processar arquivos XML. Mas vale alguns esclarecimentos. A documentação de que disponho não é a final (versão 0.3) e eu não discuti o conteúdo com ninguém ainda. A idéia toda faz parte de um projeto meu (XMLforJAVA) para desenvolver um sistema que possa ser um buscador real de informações em documentos XML, particularmente documentos acadêmicos na área de Medicina, onde estou projetando uma linguagem de marcação chamada MedXML. As discussões que temos feito na lista é uma situação real que vivencio aqui an Secretaria de Fazenda de MT e vi a oportunidade de aplicar alguns conhecimentos de XML e JAVA numa situação real e de produção. Esta documentação tem o objetivo de mostrar (bem rapidamente) como é possível associar o atual documento TXT que tenho que processar a um documento XML. Fazendo uso da API do JDOM 0.8(beta) a idéia é a de processar o conteúdo desta arquivo XML e mostrar seus resultados numa página da web usando JSP. Atualmente os arquivos TXT são processados e persistidos em tabelas Oracle, isso poderia ser feito nesta caso com o XML também, mas teria que abrir uma discussão sobre XQL, o que acho não ser o momento propício. De qualquer forma estão dados os esclarecimentos, se mais alguém estiver afim de participar da discussão e dar uma olhada no material que gerei até agora basta entrar em contato comigo. Valeu. Carlos -- Carlos Santiago Programador JAVA Equipe de implementação Secretaria de Fazenda - MT -- __ E-mail Premium BOL Antivírus, anti-spam e até 100 MB de espaço. Assine já! http://email.bol.com.br/ -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
[java-list] JAVA e XML
Olá a todos. Está interessante a discussão sobre o uso de XML e JAVA para o porcessamento de arquivos TXT que havíamos proposto um tempo atrás. Das opiniões que li, parace concenso de que o uso de XML pode diminuir a carga de processamento e o consumo de memória. A excessão do David que não entendeu por que iria consumir menos memória, a explicação que tenho colhido da literatura é que diferente da classe File que carega o arquivo inteiro para a memória para processá-lo a API de XML carrega apenas o DOM e não o seu conteúdo, o que torna mais leve o consumo de memória. Mas isso tem que ser passivo de teste. Eu tenho trabalhado nesta questão e já desenvolvi uma DTD e um arquivo XML de exemplo e vou processá-lo usando o JDOM 0.8 beta. Tenho, também, desenvolvido uma documentação sobre o assunto (está na versão 0.3 e tem 25 páginas em TXT), se alguém que está participando da discussão quiser dar uma olhada neste material me avise e eu mando o material. Abraço Carlos -- Carlos Santiago Programador JAVA Equipe de implementação Secretaria de Fazenda - MT -- __ E-mail Premium BOL Antivírus, anti-spam e até 100 MB de espaço. Assine já! http://email.bol.com.br/ -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] JAVA e XML
Olá Carlos Apesar de eu ainda não ter enviado nenhum comentário a respeito dessa discussão, venho acompanhando todos os comentários feito pelos companheiros da lista. Bom, o que eu queria falar mesmo é que eu também estou desenvolvendo algumas coisas com Java e XML e gostaria muito de trocar informações. Se você tem alguma documentação eu ficaria muito feliz de poder lê-la e assim, também enviar algumas coisas que eu tenho. Tenho algumas dúvidas sobre alguns temas (para ter uma idéia, algumas delas eu ainda nem consigo formular uma dúvida que seja entendível). Espero que com essa troca de informações eu consiga evoluir nos resultados esperados e de alguma forma também poder contribuir com a lista. Agradeço desde já. Alexandre Sueiro dos Santos Superintendência Técnica de Sistemas Itaú Argentina Analista de Sistemas [EMAIL PROTECTED] Carlos Santiago parasantiago@bolTo: [EMAIL PROTECTED] .com.br cc: Subject: [java-list] JAVA e XML 03/02/2003 07:49 Please respond to java-list Olá a todos. Está interessante a discussão sobre o uso de XML e JAVA para o porcessamento de arquivos TXT que havíamos proposto um tempo atrás. Das opiniões que li, parace concenso de que o uso de XML pode diminuir a carga de processamento e o consumo de memória. A excessão do David que não entendeu por que iria consumir menos memória, a explicação que tenho colhido da literatura é que diferente da classe File que carega o arquivo inteiro para a memória para processá-lo a API de XML carrega apenas o DOM e não o seu conteúdo, o que torna mais leve o consumo de memória. Mas isso tem que ser passivo de teste. Eu tenho trabalhado nesta questão e já desenvolvi uma DTD e um arquivo XML de exemplo e vou processá-lo usando o JDOM 0.8 beta. Tenho, também, desenvolvido uma documentação sobre o assunto (está na versão 0.3 e tem 25 páginas em TXT), se alguém que está participando da discussão quiser dar uma olhada neste material me avise e eu mando o material. Abraço Carlos -- Carlos Santiago Programador JAVA Equipe de implementação Secretaria de Fazenda - MT -- __ E-mail Premium BOL Antivírus, anti-spam e até 100 MB de espaço. Assine já! http://email.bol.com.br/ -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] - -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] JAVA e XML
Ok, Tenho acompanhado a discurssão e gostaria de dar uma olhada neste material. Julio Lima Programador (GESPV) Sul América Seguros (21) 2506-9338 -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
RES: [java-list] JAVA e XML
Concordo com todas as afirmações, com exceção de uma. Não consigo pensar qual seria o motivo do processamento ficar mais rápido do que a substring? Afinal, de qualquer maneira o programa vai ter que ler o "registro" inteiro para remover só o dado que precisa, e também para saber em que ponto começa o próximo "registro". E além disso, os cálculos necessários no processador para lidar com um arquivo XML são muito mais intensos do que um simples "verifique se na posição X existe tal sequencia de caracteres". Enfim, isso pode não ser fundamental. Às vezes vale mesmo a pena uma pequena perda de performance para obter maior organização dos dados. Talvez XML seja uma opção interessante. Mas acredito que uma solução de "caracter delimitador" poderia resolver o problema, talvez até diminuindo o tamanho do arquivo e quem sabe aumentar a velocidade de processamento (por conta do arquivo menor e menos bytes a serem processador). Digamos que o Carlos, na hora de gerar os dados a partir dos "clientes", delimite cada campo com um caracter de tabulação "\t" (que será convertido no código ASCII 9 "\u0009"). Inclusive, deste modo, os campos não precisam necessáriamente ter um tamanho fixo. Exemplo: não é necessário colocar "0012\t098" porque oprimeiro número pode ter 7 casas e o segundo 9, basta colocar "12\t98". Finalmente, ao término de cada linha, quebra-se com um"\n" Para simplificar as coisas, vamos supor que você continue usando o método atual de ler todo o arquivo para a memória. Esse consome mais memória mas em compensação torna o processamento muito mais rápido. Faça um loop que separe uma linha por vez. Depois separe os dados desse modo: (...) tipo = (linha.substring(0, 2)); cpfCnpj = linha.substring(2, 16).trim(); cfop = Integer.parseInt(linha.substring(53, 56).trim()); inscEstd = (linha.substring(16, 30).trim()); (...) O código muda bem pouco em relação ao atual. Em compensação você resolve totalmente seu problema de alteração de tamanho de campos. Desse modo, ainda que aumente o número de colunas, desde que elas sejam no final, você ainda consegue fazer com que seu programa continue funcionando sem alterações. Só será mesmo necessária uma alteração caso uma coluna deixe de existir (nesse caso, ainda que fosse XML, isso provavelmente exigiria uma alteração no programa). Caso não se queira ler o arquivo inteiro para a memória de uma vez, pode-se combinar um FileInputStream com um BufferedInputStream e um PushbackInputStream, lendo uma quantidade de bytes suficientemente grande para obter uma linha e depois devolvendo os bytes sobressalentes que pertencem à próxima linha. Claro que com toda essa solução estamos "reinventando a roda", pois afinal o XML tem uma solução bem mais elegante para esse problema. Entretanto, pode ser que o XML não seja tão eficiente (em termos de velocidade de processamento e tamanho de arquivos) como esse método que estou propondo. Além do fato que penso ser simples você alterar seu programa "cliente" para gerar os dados como sugerido. Enfim, tudo vai depender do problema a ser resolvido. Achei interessante propor esta outra solução. {}'s David Rissato Cruz -Mensagem original-De: Herval Freire [mailto:[EMAIL PROTECTED]]Enviada em: segunda-feira, 20 de janeiro de 2003 07:03Para: [EMAIL PROTECTED]Assunto: Re: [java-list] JAVA e XMLQuadruplica o tamanho do arquivo, mas o processamento fica duas vezes mais rapido que "substring", a carga de memoria cai BASTANTE (especialmente se for utilizada a API SAX) e fica organizado...tendo um espacinho no HD, nao seria um 'tradeoff' interessante? []sAt 17:52 19/1/2003 -0300, you wrote: Boa tarde,Vou responder por experiencia propria,Tambem estou desenvolvendo um sistema de ETL (ExtractTransform e Load).Meus arquivos tambem sao txt e provem de um ERP SAP.Tem em torno de 150 000 linhas.Eh totalmente descartada a utilizacao de XML, osarquivos no minimo quadruplicam seu tamanho. O XML ehmais adequado para transacoes, exchange e coisas dotipo nao para carga de dados.Soh por curiosidade qual o seu banco de dados, se forOracle voce pode tratar os txt´s por pl/sql, tenhoexemplos se precisar.Temais.--- [EMAIL PROTECTED] escreveu: Gostaria decolocar uma questão para a galera da lista. Estou num projeto que manipula conteúdo de arquivos TXT e os grava num banco de dados. Até aí, sem problemas e nem novidades. A questão é que estes conteúdos são disponibilisados em linhas, minha aplicação lê cada uma destas linhas e as sub-divide em subStrings, e cada subString é uma informação que deve ser gravada em banco. Exemplo de uma linha deste arquivo: 5002951224000104131858602 20020625MT01UN19494616301300013221001700N Trecho de código de processamento desta linha: (...) tipo =
Re: [java-list] JAVA e XML
Entao, Como tinha te dito. Na sexta passada comecei a fazer testes de stress com o meu sistema. Recebi um catalogo de produtos do SAP ERP com 50 000 linhas. Usando uma package Oracle li e escrevi numa tabela no meu banco tudo em menos de 2 minutos. Tambem, apos um tratamento dos dados, gerei um outro arquivo de saida txt com as 50 000 linhas em menos de 2 minutos. Com o Oracle temos a opcao de utilizar um outro utilitario chamado SQLLoader mas optei pela package UTL_FILE que me dah mais opcoes de tratamento de linha (como voce precisa, nao eh?). Se precisar te mando uns exemplos. Por outro lado, Vamos supor que voce queira criar este seu mecanismo de leitura, escrita e esteja pensando em outras utilizacoes disto. Esteja pensando tambem em usar isto como um CASE para voce e sua empresa e que ainda sejam arquivos pequenos. Use mesmo o XML! Nao vou dizer que um minimo de hard code nao tive que fazer para a package UTL_FILE ler o TXT. Carlos, usando XML, TXT, sempre o arquivo serah aberto e as linhas interpretadas, apenas a maneira que isto serah feito que eh diferente com XML. Pensando no futuro e em reutilizacao crie a DTD, os XML´s que voce vai ter bons frutos. Nao querendo cair em contradicao, quando trabalhei com XML no Oracle tambem tive que usar a mesma package UTL_FILE. Se precisar tambem tenho exemplos da UTL_FILE com XML. Voce poderia me perguntar: Mas e o Java Rodrigo? Usei uma Java Stored Procedure para direcionar o arquivo do sistema operacional para ser interpretado pela package e nada mais. Da maneira que fiz ficou tudo dentro do Banco. Prefiro assim. Nao sei se me enrolei um pouco nas palavras... Rodrigo. Rodrigo. --- [EMAIL PROTECTED] escreveu: Rodrigo, valeu a dica. Eu estava imaginando que isso seria um empecilho mesmo para um desenvolvimento em XML para arquivos TXT que já são muito grandes. Mas eu imagino que para os arquivos de pequeno porte talvez a coisa seja viável, mesmo porque eu estou pensando em reusabilidade, portabilidade e transações também. E creio que a performace deste sistema poderia melhorar consideravelmente tendo em vista que não gastaria processamento com abertura, leitura e processamento de cada linha de arquivo. O que vc acha ? Nós aqui na Secretaria de Fazenda de MT estamos migrando tudo para JAVA e Oracle. Carlos *** Carlos Santiago [EMAIL PROTECTED] Programador JAVA Equipe de Implementação - SAGETI Secretaria de Estado de Fazenda - MT *** Rodrigo Rodrigues rodrigo2naomi@yaPara: [EMAIL PROTECTED] hoo.com.br cc: Assunto: Re: [java-list] JAVA e XML 19/01/2003 17:22 Favor responder a java-list Boa tarde, Vou responder por experiencia propria, Tambem estou desenvolvendo um sistema de ETL (Extract Transform e Load). Meus arquivos tambem sao txt e provem de um ERP SAP. Tem em torno de 150 000 linhas. Eh totalmente descartada a utilizacao de XML, os arquivos no minimo quadruplicam seu tamanho. O XML eh mais adequado para transacoes, exchange e coisas do tipo nao para carga de dados. Soh por curiosidade qual o seu banco de dados, se for Oracle voce pode tratar os txt´s por pl/sql, tenho exemplos se precisar. Temais. --- [EMAIL PROTECTED] escreveu: Gostaria de colocar uma questão para a galera da lista. Estou num projeto que manipula conteúdo de arquivos TXT e os grava num banco de dados. Até aí, sem problemas e nem novidades. A questão é que estes conteúdos são disponibilisados em linhas, minha aplicação lê cada uma destas linhas e as sub-divide em subStrings, e cada subString é uma informação que deve ser gravada em banco. Exemplo de uma linha deste arquivo
Re: [java-list] JAVA e XML
Rodrigo, valeu a dica. Eu estava imaginando que isso seria um empecilho mesmo para um desenvolvimento em XML para arquivos TXT que já são muito grandes. Mas eu imagino que para os arquivos de pequeno porte talvez a coisa seja viável, mesmo porque eu estou pensando em reusabilidade, portabilidade e transações também. E creio que a performace deste sistema poderia melhorar consideravelmente tendo em vista que não gastaria processamento com abertura, leitura e processamento de cada linha de arquivo. O que vc acha ? Nós aqui na Secretaria de Fazenda de MT estamos migrando tudo para JAVA e Oracle. Carlos *** Carlos Santiago [EMAIL PROTECTED] Programador JAVA Equipe de Implementação - SAGETI Secretaria de Estado de Fazenda - MT *** Rodrigo Rodrigues rodrigo2naomi@yaPara: [EMAIL PROTECTED] hoo.com.br cc: Assunto: Re: [java-list] JAVA e XML 19/01/2003 17:22 Favor responder a java-list Boa tarde, Vou responder por experiencia propria, Tambem estou desenvolvendo um sistema de ETL (Extract Transform e Load). Meus arquivos tambem sao txt e provem de um ERP SAP. Tem em torno de 150 000 linhas. Eh totalmente descartada a utilizacao de XML, os arquivos no minimo quadruplicam seu tamanho. O XML eh mais adequado para transacoes, exchange e coisas do tipo nao para carga de dados. Soh por curiosidade qual o seu banco de dados, se for Oracle voce pode tratar os txt´s por pl/sql, tenho exemplos se precisar. Temais. --- [EMAIL PROTECTED] escreveu: Gostaria de colocar uma questão para a galera da lista. Estou num projeto que manipula conteúdo de arquivos TXT e os grava num banco de dados. Até aí, sem problemas e nem novidades. A questão é que estes conteúdos são disponibilisados em linhas, minha aplicação lê cada uma destas linhas e as sub-divide em subStrings, e cada subString é uma informação que deve ser gravada em banco. Exemplo de uma linha deste arquivo: 5002951224000104131858602 20020625MT01UN 19494616301300013221001700N Trecho de código de processamento desta linha: (...) tipo = (linha.substring(0, 2)); cpfCnpj = linha.substring(2, 16).trim(); cfop = Integer.parseInt(linha.substring(53, 56).trim()); inscEstd = (linha.substring(16, 30).trim()); (...) Estas variáveis são gravadas no banco. Como disse, até aí sem problema. Mas existem arquivos cujo tamanho variam entre 40 e 100MB com cerca de 80mil a 840mil linhas, e cada uma destas linhas deve ser lida e processada. Como eu uso File para poder ler estes arquivos o consumo de memória é alto, pois estes arquivos são carregados na memória até o fim de seu processamento e os lotes de arquivos são da ordem de 2000 a 5000 arquivos. O que não é problema, a princípio, para os servers que temos aqui. O problema, na minha opinião e gostaria de poder ler a de vcs, é que se ouver uma mudança no padrão do tamanho da linha ou algum dado fora de lugar o processamento desta linha fica comprometido. Ou no caso concreto onde a variável cfop (do exemplo acima) não terá mais tamanho 3, passando a ter tamanho 4, isso faz com que eu tenha que mudar todas as outras coordenadas de varáveis, para poder pegar a informação correta. A minha idéia era a de acabar com esse lance de ter que ler linha a linha e sub-dividi-lás em subStrings. Poderia ter um arquivo XML parecido com este trecho: tipo50/tipo cpfCnpj02951224000104/cpjCnpj cfop616/cfop inscEstd131858602/inscEstd e assim por diante. Desta forma poderia acessar diretamente a informação que desejo. Claro que devemos fazer uma DTD para estes arquivos, pois cada tipo de linha tem a sua particularidade
Re: [java-list] JAVA e XML
Santini, obrigado por sua opinião. Esta questão de usar XML e derepente ter apenas uma solução elegante realmente não é prática. Pelo que eu andei estudando julguei que manter uma estrutura de DOM na memória e manipular esta estrutura poderia me custar menos processamento e certamente menos memória. O fato é que com a classe File o consumo de memória é alto e multiplicando 16 subString por , vamos supor, 100mil linhas o processamento fica carregado também. Mas a minha idéia é quanto ao fato de poder manipular o contúdo do arquivo mais diretamente, pois como sitei, se uma das subStrings estiver fora de lugar ou mudar o padrão, pronto, o processamento daquela linha já era. Respondendo a sua pergunta; Não, a minha idéia não é a de converter em XML e depois importar. A idéia seria de que os clients que geram estes TXTs passem a gerar XML. Abraço Carlos *** Carlos Santiago [EMAIL PROTECTED] Programador JAVA Equipe de Implementação - SAGETI Secretaria de Estado de Fazenda - MT *** Santini santini.lista@tePara: [EMAIL PROTECTED] rra.com.br cc: Assunto: Re: [java-list] JAVA e XML 03/01/1980 15:22 Favor responder a java-list Na minha opinião, usando XML, nesse caso, você só ganharia em praticidade e elegancia caso o layout do arquivo mude. Um parser irá consumir mais processamento que uma simples seqüência de substring()'s. Uma coisa que não entendi, você pretende conversar o layout atual para XML e depois importar ? [ ]'s /* * Rafael de Melo Lima Santini * BiblioShop - Informatização de Bibliotecas Software * Florianópolis - Santa Catarina - Brasil * Fones: (48) 225-2566 ou 9991-2908 * E-Mail: [EMAIL PROTECTED] * Website: www.biblioshop.com.br * ICQ 54152945 */ - Original Message - From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, January 16, 2003 12:33 PM Subject: [java-list] JAVA e XML Gostaria de colocar uma questão para a galera da lista. Estou num projeto que manipula conteúdo de arquivos TXT e os grava num banco de dados. Até aí, sem problemas e nem novidades. A questão é que estes conteúdos são disponibilisados em linhas, minha aplicação lê cada uma destas linhas e as sub-divide em subStrings, e cada subString é uma informação que deve ser gravada em banco. Exemplo de uma linha deste arquivo: 5002951224000104131858602 20020625MT01UN 194946163013000132210017 00N Trecho de código de processamento desta linha: (...) tipo = (linha.substring(0, 2)); cpfCnpj = linha.substring(2, 16).trim(); cfop = Integer.parseInt(linha.substring(53, 56).trim()); inscEstd = (linha.substring(16, 30).trim()); (...) Estas variáveis são gravadas no banco. Como disse, até aí sem problema. Mas existem arquivos cujo tamanho variam entre 40 e 100MB com cerca de 80mil a 840mil linhas, e cada uma destas linhas deve ser lida e processada. Como eu uso File para poder ler estes arquivos o consumo de memória é alto, pois estes arquivos são carregados na memória até o fim de seu processamento e os lotes de arquivos são da ordem de 2000 a 5000 arquivos. O que não é problema, a princípio, para os servers que temos aqui. O problema, na minha opinião e gostaria de poder ler a de vcs, é que se ouver uma mudança no padrão do tamanho da linha ou algum dado fora de lugar o processamento desta linha fica comprometido. Ou no caso concreto onde a variável cfop (do exemplo acima) não terá mais tamanho 3, passando a ter tamanho 4, isso faz com que eu tenha que mudar todas as outras coordenadas de varáveis, para poder pegar a informação correta. A minha idéia era a de acabar com esse lance de ter que ler linha a linha e sub-dividi-lás em subStrings
Re: [java-list] JAVA e XML
Quadruplica o tamanho do arquivo, mas o processamento fica duas vezes mais rapido que substring, a carga de memoria cai BASTANTE (especialmente se for utilizada a API SAX) e fica organizado... tendo um espacinho no HD, nao seria um 'tradeoff' interessante? []s At 17:52 19/1/2003 -0300, you wrote: Boa tarde, Vou responder por experiencia propria, Tambem estou desenvolvendo um sistema de ETL (Extract Transform e Load). Meus arquivos tambem sao txt e provem de um ERP SAP. Tem em torno de 150 000 linhas. Eh totalmente descartada a utilizacao de XML, os arquivos no minimo quadruplicam seu tamanho. O XML eh mais adequado para transacoes, exchange e coisas do tipo nao para carga de dados. Soh por curiosidade qual o seu banco de dados, se for Oracle voce pode tratar os txt´s por pl/sql, tenho exemplos se precisar. Temais. --- [EMAIL PROTECTED] escreveu: Gostaria de colocar uma questão para a galera da lista. Estou num projeto que manipula conteúdo de arquivos TXT e os grava num banco de dados. Até aí, sem problemas e nem novidades. A questão é que estes conteúdos são disponibilisados em linhas, minha aplicação lê cada uma destas linhas e as sub-divide em subStrings, e cada subString é uma informação que deve ser gravada em banco. Exemplo de uma linha deste arquivo: 5002951224000104131858602 20020625MT01UN 19494616301300013221001700N Trecho de código de processamento desta linha: (...) tipo = (linha.substring(0, 2)); cpfCnpj = linha.substring(2, 16).trim(); cfop = Integer.parseInt(linha.substring(53, 56).trim()); inscEstd = (linha.substring(16, 30).trim()); (...) Estas variáveis são gravadas no banco. Como disse, até aí sem problema. Mas existem arquivos cujo tamanho variam entre 40 e 100MB com cerca de 80mil a 840mil linhas, e cada uma destas linhas deve ser lida e processada. Como eu uso File para poder ler estes arquivos o consumo de memória é alto, pois estes arquivos são carregados na memória até o fim de seu processamento e os lotes de arquivos são da ordem de 2000 a 5000 arquivos. O que não é problema, a princípio, para os servers que temos aqui. O problema, na minha opinião e gostaria de poder ler a de vcs, é que se ouver uma mudança no padrão do tamanho da linha ou algum dado fora de lugar o processamento desta linha fica comprometido. Ou no caso concreto onde a variável cfop (do exemplo acima) não terá mais tamanho 3, passando a ter tamanho 4, isso faz com que eu tenha que mudar todas as outras coordenadas de varáveis, para poder pegar a informação correta. A minha idéia era a de acabar com esse lance de ter que ler linha a linha e sub-dividi-lás em subStrings. Poderia ter um arquivo XML parecido com este trecho: tipo50/tipo cpfCnpj02951224000104/cpjCnpj cfop616/cfop inscEstd131858602/inscEstd e assim por diante. Desta forma poderia acessar diretamente a informação que desejo. Claro que devemos fazer uma DTD para estes arquivos, pois cada tipo de linha tem a sua particularidade, mas isso também não seria problema. Bem, se transformar as linhas do arquivo TXT em tags de arquivos XML não é o problema, porque a questão ? Bem, se um arquivo texto, que só tem caracteres ANSI pode chegar a ter 100MB como ficará um arquivo XML com um monte de tags ? Muito maior que um arquivo TXT ! Mas eu acho que a vantagem seria a seguinte (gostaria que alguém me confirmasse): 1) Apesar do arquivo ser maior em MB as informações estarão dispostas de forma ordenada e se um campo mudar de tamanho não seria necessário mudar o processamento as outras variáveis. 2) Mesmo sendo maior em MB isso não acarretaria grandes transtornos de uso de memória tendo em vista que não usaria File para ler o arquivos, e depois cada linha do arquivo. Usando a API XML de JAVA (um parser) o mesmo carregaria na memória apenas a estrutura DOM do documento e isso é mais leve do que o arquivo como um todo. Posso usar esta estrutura para manipular as informações do arquivo. 3) Ganharia em velocidade de processamento, pois poderia acessar diretamente as informações desejadas e não ter que ficar picando linha a linha para separar a informação desejada, lembrando que tem arquivo com mais de 800mil linhas ! A galera que trabalha com arquitetura/projeto poderia opinar sobre esta possibilidade ? Tem alguém na lista que já implementou JAVA com XML pra valer ? Alguém sabe de padrões para JAVA com XML ? Abraço Carlos *** Carlos Santiago [EMAIL PROTECTED] Programador JAVA Equipe de Implementação - SAGETI Secretaria de Estado de Fazenda - MT *** -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista:
Re: [java-list] JAVA e XML
Na minha opinião, usando XML, nesse caso, você só ganharia em praticidade e elegancia caso o layout do arquivo mude. Um parser irá consumir mais processamento que uma simples seqüência de substring()'s. Uma coisa que não entendi, você pretende conversar o layout atual para XML e depois importar ? [ ]'s /* * Rafael de Melo Lima Santini * BiblioShop - Informatização de Bibliotecas Software * Florianópolis - Santa Catarina - Brasil * Fones: (48) 225-2566 ou 9991-2908 * E-Mail: [EMAIL PROTECTED] * Website: www.biblioshop.com.br * ICQ 54152945 */ - Original Message - From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, January 16, 2003 12:33 PM Subject: [java-list] JAVA e XML Gostaria de colocar uma questão para a galera da lista. Estou num projeto que manipula conteúdo de arquivos TXT e os grava num banco de dados. Até aí, sem problemas e nem novidades. A questão é que estes conteúdos são disponibilisados em linhas, minha aplicação lê cada uma destas linhas e as sub-divide em subStrings, e cada subString é uma informação que deve ser gravada em banco. Exemplo de uma linha deste arquivo: 5002951224000104131858602 20020625MT01UN 194946163013000132210017 00N Trecho de código de processamento desta linha: (...) tipo = (linha.substring(0, 2)); cpfCnpj = linha.substring(2, 16).trim(); cfop = Integer.parseInt(linha.substring(53, 56).trim()); inscEstd = (linha.substring(16, 30).trim()); (...) Estas variáveis são gravadas no banco. Como disse, até aí sem problema. Mas existem arquivos cujo tamanho variam entre 40 e 100MB com cerca de 80mil a 840mil linhas, e cada uma destas linhas deve ser lida e processada. Como eu uso File para poder ler estes arquivos o consumo de memória é alto, pois estes arquivos são carregados na memória até o fim de seu processamento e os lotes de arquivos são da ordem de 2000 a 5000 arquivos. O que não é problema, a princípio, para os servers que temos aqui. O problema, na minha opinião e gostaria de poder ler a de vcs, é que se ouver uma mudança no padrão do tamanho da linha ou algum dado fora de lugar o processamento desta linha fica comprometido. Ou no caso concreto onde a variável cfop (do exemplo acima) não terá mais tamanho 3, passando a ter tamanho 4, isso faz com que eu tenha que mudar todas as outras coordenadas de varáveis, para poder pegar a informação correta. A minha idéia era a de acabar com esse lance de ter que ler linha a linha e sub-dividi-lás em subStrings. Poderia ter um arquivo XML parecido com este trecho: tipo50/tipo cpfCnpj02951224000104/cpjCnpj cfop616/cfop inscEstd131858602/inscEstd e assim por diante. Desta forma poderia acessar diretamente a informação que desejo. Claro que devemos fazer uma DTD para estes arquivos, pois cada tipo de linha tem a sua particularidade, mas isso também não seria problema. Bem, se transformar as linhas do arquivo TXT em tags de arquivos XML não é o problema, porque a questão ? Bem, se um arquivo texto, que só tem caracteres ANSI pode chegar a ter 100MB como ficará um arquivo XML com um monte de tags ? Muito maior que um arquivo TXT ! Mas eu acho que a vantagem seria a seguinte (gostaria que alguém me confirmasse): 1) Apesar do arquivo ser maior em MB as informações estarão dispostas de forma ordenada e se um campo mudar de tamanho não seria necessário mudar o processamento as outras variáveis. 2) Mesmo sendo maior em MB isso não acarretaria grandes transtornos de uso de memória tendo em vista que não usaria File para ler o arquivos, e depois cada linha do arquivo. Usando a API XML de JAVA (um parser) o mesmo carregaria na memória apenas a estrutura DOM do documento e isso é mais leve do que o arquivo como um todo. Posso usar esta estrutura para manipular as informações do arquivo. 3) Ganharia em velocidade de processamento, pois poderia acessar diretamente as informações desejadas e não ter que ficar picando linha a linha para separar a informação desejada, lembrando que tem arquivo com mais de 800mil linhas ! A galera que trabalha com arquitetura/projeto poderia opinar sobre esta possibilidade ? Tem alguém na lista que já implementou JAVA com XML pra valer ? Alguém sabe de padrões para JAVA com XML ? Abraço Carlos *** Carlos Santiago [EMAIL PROTECTED] Programador JAVA Equipe de Implementação - SAGETI Secretaria de Estado de Fazenda - MT *** -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] - -- LISTA
[java-list] JAVA e XML
Gostaria de colocar uma questão para a galera da lista. Estou num projeto que manipula conteúdo de arquivos TXT e os grava num banco de dados. Até aí, sem problemas e nem novidades. A questão é que estes conteúdos são disponibilisados em linhas, minha aplicação lê cada uma destas linhas e as sub-divide em subStrings, e cada subString é uma informação que deve ser gravada em banco. Exemplo de uma linha deste arquivo: 5002951224000104131858602 20020625MT01UN 19494616301300013221001700N Trecho de código de processamento desta linha: (...) tipo = (linha.substring(0, 2)); cpfCnpj = linha.substring(2, 16).trim(); cfop = Integer.parseInt(linha.substring(53, 56).trim()); inscEstd = (linha.substring(16, 30).trim()); (...) Estas variáveis são gravadas no banco. Como disse, até aí sem problema. Mas existem arquivos cujo tamanho variam entre 40 e 100MB com cerca de 80mil a 840mil linhas, e cada uma destas linhas deve ser lida e processada. Como eu uso File para poder ler estes arquivos o consumo de memória é alto, pois estes arquivos são carregados na memória até o fim de seu processamento e os lotes de arquivos são da ordem de 2000 a 5000 arquivos. O que não é problema, a princípio, para os servers que temos aqui. O problema, na minha opinião e gostaria de poder ler a de vcs, é que se ouver uma mudança no padrão do tamanho da linha ou algum dado fora de lugar o processamento desta linha fica comprometido. Ou no caso concreto onde a variável cfop (do exemplo acima) não terá mais tamanho 3, passando a ter tamanho 4, isso faz com que eu tenha que mudar todas as outras coordenadas de varáveis, para poder pegar a informação correta. A minha idéia era a de acabar com esse lance de ter que ler linha a linha e sub-dividi-lás em subStrings. Poderia ter um arquivo XML parecido com este trecho: tipo50/tipo cpfCnpj02951224000104/cpjCnpj cfop616/cfop inscEstd131858602/inscEstd e assim por diante. Desta forma poderia acessar diretamente a informação que desejo. Claro que devemos fazer uma DTD para estes arquivos, pois cada tipo de linha tem a sua particularidade, mas isso também não seria problema. Bem, se transformar as linhas do arquivo TXT em tags de arquivos XML não é o problema, porque a questão ? Bem, se um arquivo texto, que só tem caracteres ANSI pode chegar a ter 100MB como ficará um arquivo XML com um monte de tags ? Muito maior que um arquivo TXT ! Mas eu acho que a vantagem seria a seguinte (gostaria que alguém me confirmasse): 1) Apesar do arquivo ser maior em MB as informações estarão dispostas de forma ordenada e se um campo mudar de tamanho não seria necessário mudar o processamento as outras variáveis. 2) Mesmo sendo maior em MB isso não acarretaria grandes transtornos de uso de memória tendo em vista que não usaria File para ler o arquivos, e depois cada linha do arquivo. Usando a API XML de JAVA (um parser) o mesmo carregaria na memória apenas a estrutura DOM do documento e isso é mais leve do que o arquivo como um todo. Posso usar esta estrutura para manipular as informações do arquivo. 3) Ganharia em velocidade de processamento, pois poderia acessar diretamente as informações desejadas e não ter que ficar picando linha a linha para separar a informação desejada, lembrando que tem arquivo com mais de 800mil linhas ! A galera que trabalha com arquitetura/projeto poderia opinar sobre esta possibilidade ? Tem alguém na lista que já implementou JAVA com XML pra valer ? Alguém sabe de padrões para JAVA com XML ? Abraço Carlos *** Carlos Santiago [EMAIL PROTECTED] Programador JAVA Equipe de Implementação - SAGETI Secretaria de Estado de Fazenda - MT *** -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
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 tenhono 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: ?xml version="1.0" encoding="UTF-8"?raizteste1teste2/teste1/raizOK?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: Roberto Vieira de Figueiredo 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("usuarios quantidade=\""); str.append(vetorUsuario.size()); str.append("\""); for (int i=0; ivetorUsuario.size(); i++) { StUsuario usuario = vetorUsuario.getElementAt(i); str.append(" usuario\n"); str.append(" codigo"); str.append(usuario.getCodigo()); str.append("/codigo\n"); str.append(" nome"); str.append(usuario.getNome()); str.append("/nome\n"); str.append(" /usuario\n"); } str.append("/usuarios"); System.out.println(str.toString()); A saída deverá ser: usuarios quantidade=3 usuario codigo1/codigo nomeRoberto/nome /usuario usuario codigo2/codigo
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: usuario nomeGiuliano/nome enderGiuliano/ender foneGiuliano/fone /usuario dai eu quero ler esse xml e mostra-lo na tela... como eu fraia isso isso que t
Re: Res: Re: [java-list] Java e XML
Giuliano, Dê uma olhada no histórico do email, e veja, acredito que foi vc mesmo que perguntou. Como faria para gerar um arquivo xml dinâmicamente, ou seja, dentro da sua aplicação vc deseja criar um arquivo xml e gravá-lo em disco. No caso do exemplo estou criando um arquivo no diretório c:\temp\teste.xml. Estou inserindo o seguintes nós: nó raiz = raiz um elemento com o nome de teste1 um Text com o conteúdo Texto resultado do xml: ?xml version=1.0 encoding=UTF-8? raizteste1teste2/teste1/raiz OK? 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: Roberto Vieira de Figueiredo 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(usuarios quantidade=\); str.append(vetorUsuario.size()); str.append(\); for (int i=0; ivetorUsuario.size(); i++) { StUsuario usuario = vetorUsuario.getElementAt(i); str.append( usuario\n); str.append( codigo); str.append(usuario.getCodigo()); str.append(/codigo\n); str.append( nome); str.append(usuario.getNome()); str.append(/nome\n); str.append( /usuario\n); } str.append(/usuarios); System.out.println(str.toString()); A saída deverá ser: usuarios quantidade=3 usuario codigo1/codigo nomeRoberto/nome /usuario usuario codigo2/codigo nomeRenata/nome /usuario usuario codigo3/codigo nomePatricia/nome /usuario /usuarios Espero ter ajudado. Roberto Vieira de Figueiredo ___ Yahoo! GeoCities Tudo para criar o seu site: ferramentas fáceis de usar, espaço de sobra e acessórios. http://br.geocities.yahoo.com/ -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] - ___ Yahoo! GeoCities Tudo para criar o seu site: ferramentas fáceis de usar, espaço de sobra e acessórios. http://br.geocities.yahoo.com/ -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br
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álista de 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 que DOM cria a árvore do xml em memória, deve ser isto que vc 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 navegar atravé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( new File(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 xml if (!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 = new SAXTesteSimplesHandler(); parser.parse(new File(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 extends DefaultHandler { /* Olhe na documentação os métodos que podem * ser sobre escritos. */ public void startElement(String uri, String localName, 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: usuario nomeGiuliano/nome enderGiuliano/ender foneGiuliano/fone /usuario 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 o documento e apresentar na tela o que preciso... abraços e obrigado ---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
Res: Re: [java-list] Java e XML
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 = newDOMSource(document);File newXML = newFile("C:\\Temp\\teste.xml");FileOutputStream os = newFileOutputStream(newXML);StreamResult result = newStreamResult(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: Roberto Vieira de Figueiredo To: [EMAIL PROTECTED] Sent: Friday, October 18, 2002 12:56 PM Subject: Re: [java-list] Java e XMLCaro 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("usuarios quantidade=\""); str.append(vetorUsuario.size()); str.append("\""); for (int i=0; ivetorUsuario.size(); i++) { StUsuario usuario = vetorUsuario.getElementAt(i); str.append(" usuario\n"); str.append(" codigo"); str.append(usuario.getCodigo()); str.append("/codigo\n"); str.append(" nome"); str.append(usuario.getNome()); str.append("/nome\n"); str.append(" /usuario\n"); } str.append("/usuarios"); System.out.println(str.toString()); A saída deverá ser: usuarios quantidade=3 usuario codigo1/codigo nomeRoberto/nome /usuario usuario codigo2/codigo nomeRenata/nome /usuario usuario codigo3/codigo nomePatricia/nome /usuario /usuarios Espero ter ajudado. Roberto Vieira de Figueiredo ___ Yahoo! GeoCities Tudo para criar o seu site: ferramentas fáceis de usar, espaço de sobra e acessórios. http://br.geocities.yahoo.com/ -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico:http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] - ___ Yahoo! GeoCities Tudo para criar o seu site: ferramentas fáceis de usar, espaço de sobra e acessórios. http://br.geocities.yahoo.com/ -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/reg
Res: Re: [java-list] Java e XML
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: usuario nomeGiuliano/nome enderGiuliano/ender foneGiuliano/fone /usuario 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 o documento e apresentar na tela o que preciso... abraços e obrigado ---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 = newDOMSource(document);File newXML = newFile("C:\\Temp\\teste.xml");FileOutputStream os = newFileOutputStream(newXML);StreamResult result = newStreamResult(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: Roberto Vieira de Figueiredo To: [EMAIL PROTECTED] Sent: Friday, October 18, 2002 12:56 PM Subject: Re: [java-list] Java e XMLCaro 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("usuarios quantidade=\""); str.append(vetorUsuario.size()); str.append("\""); for (int i=0; ivetorUsuario.size(); i++) { StUsuario usuario = vetorUsuario.getElementAt(i); str.append(" usuario\n"); str.append(" codigo"); str.append(usuario.getCodigo()); str.append("/codigo\n"); str.append(" nome"); str.append(usuario.getNome()); str.append("/nome\n"); str.append(" /usuario\n"); } str.append("/usuarios"); System.out.println(str.toString()); A saída deverá ser: usuarios quantidade=3 usuario codigo1/codigo nomeRoberto/nome /usuario usuario codigo2/codigo nomeRenata/nome /usuario usuario codigo3/codigo nomePatricia/nome /usuario /usuarios Espero ter ajudado. Roberto Vieira de Figueiredo ___ Yahoo! GeoCities Tudo para criar o seu site: ferramentas fáceis de usar, espaço de sobra e acessórios. http://br.geocities.yahoo.com/ -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm
Res: Re: [java-list] Java e XML
Caro Roberto... Essa solução seria então por exmplo, (não sei se vc conhece?) usar XSQL, para gerar o meu doc.xml? mas vc conheçealgum outro que posa ter essa função de gerar dinamicamente o doc.xml que precisarei??? ---Mensagem original--- De: [EMAIL PROTECTED] Data: domingo, 20 de outubro de 2002 13:35:51 Para: [EMAIL PROTECTED] Assunto: Re: [java-list] Java e XML amigo, com certeza essa eh uma solucao viavel, porem desaconselhavel, uma solucao mais robusta seria utilizar qq API que dê suporte para gerar xml, pois ficar abrindo e fechando tags com string eh mto sacal e chato, vai que voce esquece de alguma no seu codigo .. vai achar facil? Roberto Vieira de Figueiredo wrote: Caro Giuliano,Não é necessário utilizar DOM para escrever um XML. Somente se utiliza o DOM para fazer a leitura domesmo, 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("<USUARIOSquantidade=\"");str.append(vetorUsuario.size());str.append("\"");for (int i=0; i<VETORUSUARIO.SIZE(); 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:1Roberto2Renata3PatriciaEspero ter ajudado.Roberto Vieira de Figueiredo___Yahoo! GeoCitiesTudo para criar o seu site: ferramentas fáceis de usar, espaço de sobra e acessórios.http://br.geocities.yahoo.com/-- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htmregras da lista: http://www.soujava.org.br/regras.htmhistorico: http://www.mail-archive.com/java-list%40soujava.org.brpara sair da lista: envie email para [EMAIL PROTECTED] - --Daniel Destro do Carmo - http://www.geocities.com/danieldestro/Sun Certified Programmer for the Java 2 PlatformMotorway Veículos - http://www.motorway.com.brGrupo de Usuários Java - http://www.guj.com.br Yahoo! GeoCitiesTudo para criar o seu site: ferramentas fáceis de usar, espaço de sobra e acessórios. IncrediMail - O mundo do correio eletrônico finalmente desenvolveu-se - Clique aqui
RES: [java-list] Java e XML
Você pode usar XSLT com XALAN que tem a opção Transformer e obtem como resultado, dentre outros,um arquivo XML. O XALAN usa o SAX como parser -Mensagem original- De: Bruno Borges [mailto:bcbjava;yahoo.com.br] Enviada em: Monday, October 21, 2002 8:03 AM Para: [EMAIL PROTECTED] Assunto: Re: [java-list] Java e XML 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: Roberto Vieira de Figueiredo 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(usuarios quantidade=\); str.append(vetorUsuario.size()); str.append(\); for (int i=0; ivetorUsuario.size(); i++) { StUsuario usuario = vetorUsuario.getElementAt(i); str.append( usuario\n); str.append( codigo); str.append(usuario.getCodigo()); str.append(/codigo\n); str.append( nome); str.append(usuario.getNome()); str.append(/nome\n); str.append( /usuario\n); } str.append(/usuarios); System.out.println(str.toString()); A saída deverá ser: usuarios quantidade=3 usuario codigo1/codigo nomeRoberto/nome /usuario usuario codigo2/codigo nomeRenata/nome /usuario usuario codigo3/codigo nomePatricia/nome /usuario /usuarios Espero ter ajudado. Roberto Vieira de Figueiredo ___ Yahoo! GeoCities Tudo para criar o seu site: ferramentas fáceis de usar, espaço de sobra e acessórios. http://br.geocities.yahoo.com/ -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] - ___ Yahoo! GeoCities Tudo para criar o seu site: ferramentas fáceis de usar, espaço de sobra e acessórios. http://br.geocities.yahoo.com/ -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] - -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] Java e XML
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: Roberto Vieira de Figueiredo 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(usuarios quantidade=\); str.append(vetorUsuario.size()); str.append(\); for (int i=0; ivetorUsuario.size(); i++) { StUsuario usuario = vetorUsuario.getElementAt(i); str.append( usuario\n); str.append( codigo); str.append(usuario.getCodigo()); str.append(/codigo\n); str.append( nome); str.append(usuario.getNome()); str.append(/nome\n); str.append( /usuario\n); } str.append(/usuarios); System.out.println(str.toString()); A saída deverá ser: usuarios quantidade=3 usuario codigo1/codigo nomeRoberto/nome /usuario usuario codigo2/codigo nomeRenata/nome /usuario usuario codigo3/codigo nomePatricia/nome /usuario /usuarios Espero ter ajudado. Roberto Vieira de Figueiredo ___ Yahoo! GeoCities Tudo para criar o seu site: ferramentas fáceis de usar, espaço de sobra e acessórios. http://br.geocities.yahoo.com/ -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] - ___ Yahoo! GeoCities Tudo para criar o seu site: ferramentas fáceis de usar, espaço de sobra e acessórios. http://br.geocities.yahoo.com/ -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
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: Roberto Vieira de Figueiredo 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(usuarios quantidade=\); str.append(vetorUsuario.size()); str.append(\); for (int i=0; ivetorUsuario.size(); i++) { StUsuario usuario = vetorUsuario.getElementAt(i); str.append( usuario\n); str.append( codigo); str.append(usuario.getCodigo()); str.append(/codigo\n); str.append( nome); str.append(usuario.getNome()); str.append(/nome\n); str.append( /usuario\n); } str.append(/usuarios); System.out.println(str.toString()); A saída deverá ser: usuarios quantidade=3 usuario codigo1/codigo nomeRoberto/nome /usuario usuario codigo2/codigo nomeRenata/nome /usuario usuario codigo3/codigo nomePatricia/nome /usuario /usuarios Espero ter ajudado. Roberto Vieira de Figueiredo ___ Yahoo! GeoCities Tudo para criar o seu site: ferramentas fáceis de usar, espaço de sobra e acessórios. http://br.geocities.yahoo.com/ -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] - ___ Yahoo! GeoCities Tudo para criar o seu site: ferramentas fáceis de usar, espaço de sobra e acessórios. http://br.geocities.yahoo.com/ -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] - __ Do you Yahoo!? Y! Web Hosting - Let the expert host your web site http://webhosting.yahoo.com/ -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] Java e XML
amigo, com certeza essa eh uma solucao viavel, porem desaconselhavel, uma solucao mais robusta seria utilizar qq API que dê suporte para gerar xml, pois ficar abrindo e fechando tags com string eh mto sacal e chato, vai que voce esquece de alguma no seu codigo .. vai achar facil? Roberto Vieira de Figueiredo wrote: Caro Giuliano,Não é necessário utilizar DOM para escrever um XML. Somente se utiliza o DOM para fazer a leitura domesmo, 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("
[java-list] Java e XML
A lista.. estou tendo dificuldades em como usar as classes de java para xml, especialmente como fazer com que o DOM do java gere um doc.xml que eu precise a partir de um acesso que faço em meu BD... gostaria de saber se existe algum tutorial sobre isso ou como posso fazer pra entender melhor... estou tentando usar o metodo newDocument() dopackage javax.xml.parse... preciso ver como se faz para gerar um documento xml apartir de um acesso ao BD.. mas não toconsuguindoentender coo se usa esses metodos pra isso.. alguem poderia me dar um orientação?? Giuliano Bisse IncrediMail - O mundo do correio eletrônico finalmente desenvolveu-se - Clique aqui
Re: [java-list] Java e XML
Giuliano, Acho que nesse caso é melhor usar o Castor (http://castor.exolab.org/). Em linhas gerais o Castor pega um bean com métodos getAtributos() e constroi um XML. Ele pode fazer o inverso também lendo o XML e populando o bean. O trabalho nesse caso é so "interfacear" os dados do BD para o bean. Roberto Tatemoto A lista.. estou tendo dificuldades em como usar as classes de java para xml, especialmente como fazer com que o DOM do java gere um doc.xml que eu precise a partir de um acesso que faço em meu BD... gostaria de saber se existe algum tutorial sobre isso ou como posso fazer pra entender melhor... estou tentando usar o metodo newDocument() dopackage javax.xml.parse... preciso ver como se faz para gerar um documento xml apartir de um acesso ao BD.. mas não toconsuguindoentender coo se usa esses metodos pra isso.. alguem poderia me dar um orientação?? Giuliano Bisse
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(usuarios quantidade=\); str.append(vetorUsuario.size()); str.append(\); for (int i=0; ivetorUsuario.size(); i++) { StUsuario usuario = vetorUsuario.getElementAt(i); str.append( usuario\n); str.append( codigo); str.append(usuario.getCodigo()); str.append(/codigo\n); str.append( nome); str.append(usuario.getNome()); str.append(/nome\n); str.append( /usuario\n); } str.append(/usuarios); System.out.println(str.toString()); A saída deverá ser: usuarios quantidade=3 usuario codigo1/codigo nomeRoberto/nome /usuario usuario codigo2/codigo nomeRenata/nome /usuario usuario codigo3/codigo nomePatricia/nome /usuario /usuarios Espero ter ajudado. Roberto Vieira de Figueiredo ___ Yahoo! GeoCities Tudo para criar o seu site: ferramentas fáceis de usar, espaço de sobra e acessórios. http://br.geocities.yahoo.com/ -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] Java e XML
Giuliano, Vc encontrara bastante informação sobre Java e XML no site http://www.dom4j.org. Neste site vc poderá baixar os fontes das APIS JDOM e DOM4J, as mais documentadas do momento. Abracos, Fabiano Carneiro Java Evangelist === From: Giuliano [EMAIL PROTECTED] Reply-To: [EMAIL PROTECTED] To: [EMAIL PROTECTED] [EMAIL PROTECTED] Subject: [java-list] Java e XML Date: Mon, 14 Oct 2002 17:09:21 -0300 (Hora oficial do Brasil) A lista.. estou tendo dificuldades em como usar as classes de java para xml, especialmente como fazer com que o DOM do java gere um doc.xml que eu precise a partir de um acesso que faço em meu BD... gostaria de saber se existe algum tutorial sobre isso ou como posso fazer pra entender melhor... estou tentando usar o metodo newDocument() dopackage javax.xml.parse... preciso ver como se faz para gerar um documento xml apartir de um acesso ao BD.. mas não toconsuguindoentender coo se usa esses metodos pra isso.. alguem poderia me dar um orientação?? Giuliano Bisse _ MSN Messenger: converse com os seus amigos online. http://messenger.msn.com.br -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
RE: [java-list] JAVA e XML
use Dom4J... -Original Message-From: Giuliano [mailto:[EMAIL PROTECTED]]Sent: Monday, August 26, 2002 11:30 AMTo: [EMAIL PROTECTED]Subject: [java-list] JAVA e XML Olá a lista Alguem trabalha com XML eJAVAna lista... Estou tentando gerar um doc. xml com uma api Java, na verdade ja fiz isso criei uma classe que gera pra mim, mas fiz tudo no braço, agúem sabe se tem uma maneira e usar as bibliotexcas do JAVA especificas para xml que facilite isso, que me permitaq trabalhar criando doc.xml acessando um BD e gerando os doc.xml?? Giuliano IncrediMail - O mundo do correio eletrônico finalmente desenvolveu-se - Clique aqui -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] JAVA e XML
Espero que estou mais rápido do que Maiko ;-) Oracle tem uma biblioteca para isso. Sven Giuliano [EMAIL PROTECTED] wrote on 26/08/2002 11:29:48: Olá a lista Alguem trabalha com XML e JAVA na lista... Estou tentando gerar um doc. xml com uma api Java, na verdade ja fiz isso criei uma classe que gera pra mim, mas fiz tudo no braço, agúem sabe se tem uma maneira e usar as bibliotexcas do JAVA especificas para xml que facilite isso, que me permitaq trabalhar criando doc.xml acessando um BD e gerando os doc.xml?? Giuliano [image removed] IncrediMail - O mundo do correio eletrônico finalmente desenvolveu-se - Clique aqui
Re: [java-list] JAVA e XML
Veja em http://java.sun.com/webservices/docs/1.0/tutorial/doc/JAXPIntro8.html Sparc - Original Message - From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, August 26, 2002 4:33 PM Subject: Re: [java-list] JAVA e XML Espero que estou mais rápido do que Maiko ;-) Oracle tem uma biblioteca para isso. Sven "Giuliano" [EMAIL PROTECTED] wrote on 26/08/2002 11:29:48: Olá a lista Alguem trabalha com XML e JAVA na lista... Estou tentando gerar um doc. xml com uma api Java, na verdade ja fiz isso criei uma classe que gera pra mim, mas fiz tudo no braço, agúem sabe se tem uma maneira e usar as bibliotexcas do JAVA especificas para xml que facilite isso, que me permitaq trabalhar criando doc.xml acessando um BD e gerando os doc.xml?? Giuliano [image removed] IncrediMail - O mundo do correio eletrônico finalmente desenvolveu-se - Clique aqui
Re: [java-list] JAVA e XML
Sven, Não sei porque as minhas mensagens pra java-list demoram tanto para aparecer... :-\ Segue aí a URL de XML: http://otn.oracle.com/tech/xml/xdk_java/content.html A outra é especialment pra você: http://otn.oracle.com/products/jdev/htdocs/vcmigration/weblogic/ []s Maiko [EMAIL PROTECTED] escreveu: Espero que estou mais rápido do que Maiko ;-) Oracle tem uma biblioteca para isso. Sven "Giuliano" [EMAIL PROTECTED] wrote on 26/08/2002 11:29:48: Olá a lista Alguem trabalha com XML e JAVA na lista... Estou tentando gerar um doc. xml com uma api Java, na verdade ja fiz isso criei uma classe que gera pra mim, mas fiz tudo no braço, agúem sabe se tem uma maneira e usar as bibliotexcas do JAVA especificas para xml que facilite isso, que me permitaq trabalhar criando doc.xml acessando um BD e gerando os doc.xml?? Giuliano [image removed] IncrediMail - O mundo do correio eletrônico finalmente desenvolveu-se - Clique aqui Yahoo! PageBuilder - O super editor para criação de sites: é grátis, fácil e rápido.
[java-list] JAVA e XML
Olá a lista Alguem trabalha com XML eJAVAna lista... Estou tentando gerar um doc. xml com uma api Java, na verdade ja fiz isso criei uma classe que gera pra mim, mas fiz tudo no braço, agúem sabe se tem uma maneira e usar as bibliotexcas do JAVA especificas para xml que facilite isso, que me permitaq trabalhar criando doc.xml acessando um BD e gerando os doc.xml?? Giuliano IncrediMail - O mundo do correio eletrônico finalmente desenvolveu-se - Clique aqui
RES: [java-list] Java e XML / Ler e Escrever aquivo
Pra ajudar a organizar você ainda pode usar o caracter de tabulação \t deixando a saída mais legível... []'s CMS -Mensagem original- De: Rosfran Lins Borges [mailto:[EMAIL PROTECTED]] Enviada em: segunda-feira, 27 de maio de 2002 16:09 Para: '[EMAIL PROTECTED]' Assunto: RES: [java-list] Java e XML / Ler e Escrever aquivo Oi Eliana... Você pode usar o caracter '\n' (quebra de linha). Por exemplo: System.out.println(numeroDeParcelas= + numeroDeParcelas + \n proximaParcela= + proximaParcela + \n obterValorDaParcela= + obterValorDaParcela()); Rosfran Lins Borges Analista de Sistemas - NDS [EMAIL PROTECTED] Fóton® Informática e Serviços Fone: (61) 328 5060 R.: 204 -Mensagem original- De: Eliana [mailto:[EMAIL PROTECTED]] Enviada em: segunda-feira, 27 de maio de 2002 15:39 Para: [EMAIL PROTECTED] Assunto: Re: [java-list] Java e XML / Ler e Escrever aquivo Olá pessoalestou com um problema.tenho esta linha no meu programa... System.out.println(numeroDeParcelas= + numeroDeParcelas + proximaParcela= + proximaParcela + obterValorDaParcela= + obterValorDaParcela()); Como eu faço pra imprimir cada item desse em uma linha URGENTE!!! Obrigada Eliana Kleber Rodrigo Carvalho gravada: PessoALL Alguém tem um exemplo de como ler e escrever arquivos XML usando as bibliotecas padrões do jsdk 1.4 ? Obrigado Kleber R. de Carvalho __ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] - -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] - -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] - -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] Java e XML / Ler e Escrever aquivo
OLá Eliana, Olha, se não usando um System.out.println para cada, antes de cada dado string você pode usar um \n, exemplo: System.out.println(numeroDeParcelas= + umeroDeParcelas + \nproximaParcela= + proximaParcela + \nobterValorDaParcela= + obterValorDaParcela()); Um abraço, Lincolm Olá pessoalestou com um problema.tenho esta linha no meu programa... System.out.println(numeroDeParcelas= + numeroDeParcelas + proximaParcela= + proximaParcela + obterValorDaParcela= + obterValorDaParcela()); Como eu faço pra imprimir cada item desse em uma linha URGENTE!!! Obrigada Eliana Kleber Rodrigo Carvalho gravada: PessoALL Alguém tem um exemplo de como ler e escrever arquivos XML usando as bibliotecas padrões do jsdk 1.4 ? Obrigado Kleber R. de Carvalho __ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list% 40soujava.org.br para sair da lista: envie email para java-list- [EMAIL PROTECTED] - -- LISTA SOUJAVA -- -- http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list% 40soujava.org.br para sair da lista: envie email para java-list- [EMAIL PROTECTED] --- -- __ Quer ter seu próprio endereço na Internet? Garanta já o seu e ainda ganhe cinco e-mails personalizados. DomíniosBOL - http://dominios.bol.com.br -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
[java-list] Java e XML / Ler e Escrever aquivo
PessoALL Alguém tem um exemplo de como ler e escrever arquivos XML usando as bibliotecas padrões do jsdk 1.4 ? Obrigado Kleber R. de Carvalho __ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] Java e XML / Ler e Escrever aquivo
Esse artigo mostra como utilizar trabalhar com xml usando o pacote default do Java http://www.zdnet.com/feeds/cgi/framer4/hud00224A0/builder.com.com/builder/su b_area.jhtml?id=w101 - Original Message - From: Kleber Rodrigo Carvalho [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, May 27, 2002 3:02 PM Subject: [java-list] Java e XML / Ler e Escrever aquivo PessoALL Alguém tem um exemplo de como ler e escrever arquivos XML usando as bibliotecas padrões do jsdk 1.4 ? Obrigado Kleber R. de Carvalho __ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] - -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] Java e XML / Ler e Escrever aquivo
Olá pessoalestou com um problema.tenho esta linha no meu programa... System.out.println(numeroDeParcelas= + numeroDeParcelas + proximaParcela= + proximaParcela + obterValorDaParcela= + obterValorDaParcela()); Como eu faço pra imprimir cada item desse em uma linha URGENTE!!! Obrigada Eliana Kleber Rodrigo Carvalho gravada: PessoALL Alguém tem um exemplo de como ler e escrever arquivos XML usando as bibliotecas padrões do jsdk 1.4 ? Obrigado Kleber R. de Carvalho __ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] - -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
RES: [java-list] Java e XML / Ler e Escrever aquivo
Oi Eliana... Você pode usar o caracter '\n' (quebra de linha). Por exemplo: System.out.println(numeroDeParcelas= + numeroDeParcelas + \n proximaParcela= + proximaParcela + \n obterValorDaParcela= + obterValorDaParcela()); Rosfran Lins Borges Analista de Sistemas - NDS [EMAIL PROTECTED] Fóton® Informática e Serviços Fone: (61) 328 5060 R.: 204 -Mensagem original- De: Eliana [mailto:[EMAIL PROTECTED]] Enviada em: segunda-feira, 27 de maio de 2002 15:39 Para: [EMAIL PROTECTED] Assunto: Re: [java-list] Java e XML / Ler e Escrever aquivo Olá pessoalestou com um problema.tenho esta linha no meu programa... System.out.println(numeroDeParcelas= + numeroDeParcelas + proximaParcela= + proximaParcela + obterValorDaParcela= + obterValorDaParcela()); Como eu faço pra imprimir cada item desse em uma linha URGENTE!!! Obrigada Eliana Kleber Rodrigo Carvalho gravada: PessoALL Alguém tem um exemplo de como ler e escrever arquivos XML usando as bibliotecas padrões do jsdk 1.4 ? Obrigado Kleber R. de Carvalho __ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] - -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] - -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
[java-list] Java e XML
Caros amigos, alguem aqui já trabalhou com java e XML e/ou o pacote da propria SUN de acesso a arquivos XML? Peguei o pacote java_xml_pack-spring02-dev.zip que inclui o JAXP, estou tentando rodar um exemplo simples, mas sempre dá erro... Quem tiver qualquer coisa, por favor, me envie, mesmo sendo em private. Adradeço a atenção de todos. O erro: C:\Developer\java\dev\xmljava MySAXApp teste.xml Exception in thread main java.lang.NoClassDefFoundError: org/xml/sax/helpers/D efaultHandler at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) O código: import java.io.FileReader; import org.xml.sax.XMLReader; import org.xml.sax.Attributes; import org.xml.sax.InputSource; import org.xml.sax.helpers.XMLReaderFactory; import org.xml.sax.helpers.DefaultHandler; public class MySAXApp extends DefaultHandler { /* public MySAXApp () { super(); System.out.println(Contrutor); }*/ public static void main (String args[])throws Exception { System.out.println(main inicio); XMLReader xr = XMLReaderFactory.createXMLReader(); MySAXApp handler = new MySAXApp(); xr.setContentHandler(handler); xr.setErrorHandler(handler); // Parse each file provided on the // command line. for (int i = 0; i args.length; i++) { FileReader r = new FileReader(args[i]); xr.parse(new InputSource(r)); } System.out.println(main fim); }//fim main // Event handlers. public void startDocument () { System.out.println(Start document); } public void endDocument () { System.out.println(End document); } public void startElement (String uri, String name, String qName, Attributes atts) { if (.equals (uri)) System.out.println(Start element: + qName); else System.out.println(Start element: { + uri + } + name); } public void endElement (String uri, String name, String qName) { if (.equals (uri)) System.out.println(End element: + qName); else System.out.println(End element: { + uri + } + name); } public void characters (char ch[], int start, int length) { System.out.print(Characters: \); for (int i = start; i start + length; i++) { switch (ch[i]) { case '\\': System.out.print(); break; case '': System.out.print(\\\); break; case '\n': System.out.print(\\n); break; case '\r': System.out.print(\\r); break; case '\t': System.out.print(\\t); break; default: System.out.print(ch[i]); break; } } System.out.print(\\n); } //fim characters }//fim class Atenciosamente PAULO BRANCO DIRETIVA DIGITAL
Re: [java-list] Java e XML
Fbio, Eu encontrei bastante coisa interessante bem objetiva do uso de SAX e DOM como parsers do XML nos sites: http://xml.apache.org http://java.sun.com/xml/tutorial_intro.html Falou! Caique Fabio wrote: Javeiros e Javeiras,Alguem conhece algum artigo ou tutorial na web que ensine e exemplifique (de maneira objetiva) a integracao entre Java e XML?Agradeco,Fabio -- Carlos Henrique L Oliveira Tecnologia - UOL Inc. tel +55 11 3038-9318 http://www.chlo.hpg.com.br
[java-list] Java e XML
Javeiros e Javeiras, Alguem conhece algum artigo ou tutorial na web que ensine e exemplifique (de maneira objetiva) a integracao entre Java e XML? Agradeco, Fabio
Re: [java-list] Java e XML
http://java.sun.com/xml/jaxp-1.1/docs/tutorial/index.html []s Carlos E O Chierici [EMAIL PROTECTED] - Original Message - From: Fabio [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, June 11, 2001 11:04 AM Subject: [java-list] Java e XML Javeiros e Javeiras, Alguem conhece algum artigo ou tutorial na web que ensine e exemplifique (de maneira objetiva) a integracao entre Java e XML? Agradeco, Fabio -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] Java e XML
Oi Fábio http://java.sun.com/xml/tutorial_intro.html http://www.jdom.org {}s Simone - Original Message - From: Fabio To: [EMAIL PROTECTED] Sent: Monday, June 11, 2001 11:04 AM Subject: [java-list] Java e XML Javeiros e Javeiras, Alguem conhece algum artigo ou tutorial na web que ensine e exemplifique (de maneira objetiva) a integracao entre Java e XML? Agradeco, Fabio
Re: [java-list] Java e XML
Eu tenho um material de XML, que fala basicamente em como trata-se os metadados, RDF e schenas se quiser só falar Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] -