XML. Introdução UNIDADEB
|
|
- Aurélio Raminhos
- 5 Há anos
- Visualizações:
Transcrição
1 Nesta unidade, você irá conhecer a linguagem XML (Extensible Markut Language). A XML é, na atualidade, extremamente popular, pois permite codificar dados, independente da linguagem de programação, para a troca de dados entre diferentes programas de forma padronizada. Os objetivos que norteiam a unidade B são: Conhecer a XML entendendo os seus elementos e atributos; Entender o conceito de um analisador sintático de XML; Ler, gravar e modificar documentos XML com a Linguagem Java. Introdução Muitas vezes necessitamos armazenar informações de uma forma mais simples que o uso de um banco de dados. Os bancos de dados são excelentes para armazenar informações, porém não são adequados quando se faz necessário para armazenar a configuração de algum sistema ou transmitir alguma informação para outro programa. UNIDADEB XML Uma forma utilizada é o uso de arquivos. Podemos utilizar arquivos texto, por exemplo. A Figura B.1 apresenta um exemplo de um arquivo que contém todas as configurações de um determinado laboratório de uma escola. Este arquivo pode ser útil para o administrador do laboratório, mantendo nesse arquivo o registro dos computadores do laboratório. Contudo, o formato deste arquivo é ad hoc, ou seja, não possui um padrão conhecido universalmente, o padrão foi definido pelo próprio administrador do laboratório. Além disso, há problemas com essa codificação, nós não conseguimos delimitar as informações de um computador do laboratório. Torna-se difícil analisar sintaticamente e de forma automatizada (por um programa) esse arquivo com as configurações dos computadores, uma vez que não possuímos delimitação entre as informações contidas em uma linha. A análise sintática (também conhecida pelo termo em parsing) é o processo de analisar uma sequência de entrada (lida de um arquivo, por exemplo) para determinar sua estrutura gramatical segundo uma determinada gramática. Você poderá pensar: por que não colocamos um delimitador entre as diferentes informações dos computadores (exemplo na Figura B.2). Porém, mesmo assim esse arquivo apresenta dificuldades de análise e não possui uma forma padronizada. 15
2 Nesta unidade, será apresentada a Extensible Markut Language (XML), que é um mecanismo padronizado para codificação de dados e não depende de nenhuma linguagem de programação. A XML permite codificar os dados de forma que os destinatários dos dados possam de forma simples fazer a análise sintática. A XML é extremamente popular para a troca de dados e permite que uma grande variedade de programas possam facilmente manipular dados XML. A XML possui uma estrutura aninhada que pode ser utilizada para descrever conjunto de dados hierárquicos. Como o formato de XML é padronizado, existem diversas bibliotecas em diversas linguagens de programação que permitem manipular com documentos XML tornando fácil, para serem utilizados pelos programadores. Documentos XML Os documentos XML são legíveis por programas de computador e também por pessoas. Vamos apresentar um exemplo bem simples de dados que podem ser codificados em XML. Por exemplo, necessitamos codificar os dados de nome e idade de uma pessoa. No exemplo mostrado Figura B.3, colocaríamos uma informação em cada linha para não necessitar a manipulação de espaços em branco. Em XML, a codificação de tais dados será da forma apresentada na Figura B.4. A vantagem da codificação XML é que você pode examinar os dados e entender o que significam. Isso facilita o entendimento do programador e consequentemente a sua programação. Outra vantagem, é a flexibilidade para alteração e inclusão de novos dados. Por exemplo, se fosse necessário incluir o endereço da pessoa seria extremamente simples (apenas incluir mais uma linha). Durante o seu curso superior de Tecnologia de Sistemas para Internet, você já manipulou muitas vezes arquivos HTML e deve ter notado que há similaridade entre o formato XML e HTML. Por exemplo, nas marcas <nome> e </nome> e nas marcas de HTML como <h1> </h1>. Tanto em HTML como XML as marcas são incluídas entre os sinais maior e menor (< e >) e a marca de abertura vem acompanhada de uma marca de fechamento que começa com a barra (/). 16
3 Tanto XML como HTML são descendentes da SGML (Standard Generalized Markup Language). A SGML foi desenvolvida nos anos 70 para especificar conjuntos de regras e criar documentos que se ajustam ao um conjunto de regras. Em 1996, o World Wide Web Consorsium ( iniciou discussões sobre o uso da SGML na web. Como resultado desta discussão nasceu a XML. Em 1998, foi lançada a especificação da XML 1.0 (bem mais simples que a especificação da SGML). Algumas das especificações da XML: Em XML, existe diferença entre letras maiúsculas e minúsculas das marcas, ou seja, <li> e <LI> são completamente diferentes para XML; Cada marca deve ter a correspondente final, ou seja, sempre a abertura de uma marca possui o seu fechamento (exemplo: <marca> </marca>); Se não tiver marca de fechamento, ela deve fechar com />, por exemplo, <img src = marca.jpg />; Os valores do atributos devem aparecer entre aspas, por exemplo, <img src = marca.jpg width= 400 height= 300 />. Não serão aceitos os valores dos atributos sem aspas. Um conjunto de dados XML é chamado de documento. Este documento com um cabeçalho contém elementos de texto. O padrão XML recomenda que cada documento XML comece com um cabeçalho da seguinte forma: <?xml version= 1.0 > Em seguida, os documentos contêm dados propriamente ditos e esses dados estão contidos em um elemento raiz como apresentado da seguinte forma: <?xml version= 1.0 > <pessoa> outros dados </pessoa> Um elemento pode apresentar duas formas válidas: <marcadoelemento atributos opcionais> dados </ marcadoelemento > ou <marcadoelemento atributos opcionais/> No primeiro caso acima, o elemento contém elementos, texto ou uma combinação de ambos (conteúdo misto). As Figuras B.5 e B.6 apresentam exemplos, utilizando conteúdo misto (Figura B.5) e sem conteúdo misto (Figura B.6). Evite misturar conteúdos para descrição de dados, ou seja, para representar dados, utilize a forma da Figura B.6. Utilize a forma mista (utilizando atributos) para descrever como interpretar o conteúdo do elemento. 17
4 Um exemplo de uso de elementos com atributos é apresentado na Figura B.7. Neste exemplo, cada pessoa poderia ter um identificador (id). Por fim, a Figura B.8 apresenta o exemplo do arquivo XML que descreve os dados do laboratório de uma escola descritos na Figura B.1. 18
5 Dica Leia mais sobre a especificação da XML (em inglês): Lendo Documentos XML Neste item, você encontrará subsídios para aprender a ler documentos XML na linguagem Java e utilizar os dados lidos em um programa. É bastante fácil ler (e também gravar) documentos XML em Java. Na verdade, geralmente é mais fácil utilizar arquivos XML do que no formato ad hoc. Desta maneira os seus programas se tornam mais profissionais e fáceis de programar. Para ler um documento XML, é necessário um analisador sintático (parser) de XML. Os analisadores são programas que leem o documento e verificam se ele está sintaticamente correto e realizam alguma ação à medida que processam o documento. Existem dois tipos de analisadores sintáticos comumente utilizados em XML. Um deles segue a especificação chamada SAX (Simple Access to XML) e outro segue a especificação chamada DOM (Document Object Model). Os analisadores SAX são baseados em eventos e os analisadores DOM constroem uma árvore que representa o documento analisado sintaticamente. Os analisadores SAX apresentam uma vantagem: são mais eficientes para processar grandes documentos XML (pois não necessitam construir uma árvore sintática). Já os analisadores DOM são mais fáceis de utilizar na maioria dos aplicativos. Nesta unidade, serão utilizados os analisadores DOM. O padrão DOM define uma interface Document no pacote org.w3c.dom. Tal interface fornece métodos para analisar e modificar a estrutura da árvore que representa o documento XML. Uma árvore DOM contém um número de nós (Node). Node é uma interface e é um tipo de dado base do DOM. Tudo em uma árvore é um Node. O DOM define algumas sub-interfaces da interface Node: Element: representa um elemento XML; Attr: representa um atributo do elemento XML; Text: é o conteúdo de um elemento. Isso significa que um elemento com informação do tipo texto contém um filho do tipo nó de texto; A interface Document representa todo o documento XML. Apenas um objeto Document existe em cada XML que você faz o parsing. Geralmente será necessário chamar seguintes métodos: Document.getDocumentElement(): retorna o elemento raiz da árvore DOM; Node.getFirstChild() e Node.getLastChild(): retorna o primeiro elemento filho ou o último elemento filho de um determinado nó. A Figura B.9 apresenta um documento XML que representa uma agenda de contatos com nome, telefone e idade. Já a Figura B.10 mostra a árvore que será gerada a partir da interface Document. Essa árvore será de grande utilidade para o entendimento da manipulação dos documentos XML em Java. 19
6 O exemplo a seguir apresenta a leitura do documento XML, descrito na Figura B9 e armazena estes dados em uma coleção de objetos (ArrayList). Para ler este documento de um arquivo XML, são necessárias várias etapas: A interface Document descreve a estrutura em árvore de um documento XML. Para gerar um objeto que implementa a interface Document, você necessita de um DocumentBuilder. O DocumentBuilder pode ler um documento XML a partir de um arquivo URL ou fluxo de entrada e o resultado é um objeto Document, que contém uma árvore (linhas 17-19); É utilizada a classe File para realizar a leitura do XML a partir de um arquivo (linha 21); Após a criação do documento, é realizado o parsing (análise) do XML (linha 23); Depois de lido o documento XML, você pode analisá-lo ou modificá-lo. Para isso, você deve utilizar o método getdocumentelement() da interface Document para retornar o elemento raiz (linha 25). A árvore de documento é composta de nodos. Os tipos de nodos mais importantes são Element e Text; A partir do elemento raiz, você pode obter a lista de elementos filhos. O DOM fornece um tipo especial de interface de coleção chamada NodeList usada para referenciar uma lista de referências do tipo Node. Ou seja, sempre que desejarmos obter os filhos de um elemento, devemos utilizar esse método, mesmo sabendo que este determinado elemento possui apenas um sub-elemento (linha 27); 20
7 Como temos uma coleção de elementos contato, vamos percorrer cada um deles para obter as informações que queremos através de um laço (linha 29); Para cada contato, vamos obter um NodeList com os elementos do tipo nome. Sabendo que o arquivo XML tem apenas um elemento do tipo nome para cada elemento do tipo contato, podemos fazer referência diretamente para o primeiro elemento dessa lista (item(0)). Para pegar o valor deste nó texto, devemos utilizar o método getfirstchild() e após o método getnodevalue() para obter o valor do nodo (linhas 32-34); O mesmo processo deve ser repetido para os elementos do tipo telefone e idade (linhas e 40-42). Apenas observe que sempre o método getnodevalue() retorno um tipo String, porém se desejamos converter o valor para int devemos utilizar o método Integer.parseInt() que converte um valor String para int; Após obter os dados do documento XML, as variáveis novonome, novotelefone e novaidade armazenam os dados obtidos do XML; Para armazenarmos estes dados em uma coleção de objetos, necessitamos primeiro criar um objeto da classe Contato (linha 44-45) e armazenar na coleção de objetos - agenda (linha 47); Nas linhas 50-53, é realizada a impressão dos itens armazenados na coleção agenda; Por fim, observe que foi necessário importar uma série de classes e interfaces da API Java (linha 3-10) package ifsul.tsiad.exemplosxml; import javax.xml.parsers.documentbuilder; import javax.xml.parsers.documentbuilderfactory; import org.w3c.dom.document; import org.w3c.dom.element; import org.w3c.dom.node; import org.w3c.dom.nodelist; import java.util.arraylist; import java.io.file; public class LeitorXML1 { public static void main(string[] args) throws Exception { // Irá armazenar os contatos em um ArrayList (agenda) ArrayList agenda = new ArrayList(); // 1. Criar o documento XML DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newdocumentbuilder(); // 2. Ler o XML a partir de um arquivo File f = new File("agenda.xml"); // 3. Realizar a analise do documento XML Document doc = builder.parse(f); // 4. Obter o elemento raiz Element raiz = doc.getdocumentelement(); // 5. Obter os elemento da agenda (os contatos) NodeList contatos = raiz.getelementsbytagname("contato"); // 6. Obter os elementos (nome, telefone, idade) de cada contato for (int i=0; i<contatos.getlength(); i++){ Element contato = (Element) contatos.item(i); // 7. Obter o primeiro elemento do contato (nome) NodeList nomes = contato.getelementsbytagname("nome"); Node nome = nomes.item(0).getfirstchild(); String novonome = nome.getnodevalue(); // 8. Obter o segundo elemento do contato (telefone) NodeList telefones = contato.getelementsbytagname("telefone"); Node telefone = telefones.item(0).getfirstchild(); String novotelefone = telefone.getnodevalue(); 21
8 O código a seguir apresenta a classe Contato necessária para criar os objetos do tipo Contato package ifsul.tsiad.exemplosxml; public class Contato { private String nome; private String telefone; private int idade; // 9. Obter o terceiro elemento do contato (idade) NodeList idades = contato.getelementsbytagname("idade"); Node idade = idades.item(0).getfirstchild(); int novaidade = Integer.parseInt(idade.getNodeValue()); // 10. Criar um objeto de Contato a partir dos dados lidos Contato novocontato = new Contato(novoNome, novotelefone, novaidade); // 11. Adicinar o objeto na agenda (ArrayList) agenda.add(novocontato); // Imprimir os dados armazenados na agenda (ArrayList) for(int i=0;i<agenda.size();i++){ Contato contato = (Contato) agenda.get(i); System.out.println(contato); public Contato(String nome, String telefone, int idade) { this.nome = nome; this.telefone = telefone; this.idade = idade; public int getidade() { return idade; public void setidade(int idade) { this.idade = idade; public String getnome() { return nome; public void setnome(string nome) { this.nome = nome; public String gettelefone() { return telefone; public void settelefone(string telefone) { this.telefone = telefone; public String tostring(){ return (this.nome + "\n" + this.telefone + "\n" + this.idade); O código a seguir apresenta o mesmo código apresentado anteriormente para ler um documento XML. Porém este programa Java é bem melhor estruturado, sendo organizado em diferentes métodos e utilizando o correto tratamento de exceções. 22
9 package ifsul.tsiad.exemplosxml; import javax.xml.parsers.documentbuilder; import javax.xml.parsers.documentbuilderfactory; import javax.xml.parsers.parserconfigurationexception; import org.w3c.dom.document; import org.w3c.dom.element; import org.w3c.dom.node; import org.w3c.dom.nodelist; import org.xml.sax.saxexception; import java.util.arraylist; import java.io.ioexception; import java.io.file; public class LeitorXML2 { public ArrayList lerxml(string nomearquivoxml) throws ParserConfigurationException, SAXException, IOException { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newdocumentbuilder(); File f = new File(nomeArquivoXML); Document doc = builder.parse(f); Element raiz = doc.getdocumentelement(); NodeList contatos = raiz.getelementsbytagname("contato"); ArrayList agenda = new ArrayList(); for (int i=0; i<contatos.getlength(); i++){ Element contato = (Element) contatos.item(i); Contato novocontato = new Contato(obtemItensContato(contato, "nome"), obtemitenscontato(contato, "telefone"), Integer.parseInt(obtemItensContato(contato, "idade"))); agenda.add(novocontato); return agenda; public String obtemitenscontato(element contato, String itemcontato){ NodeList listaitens = contato.getelementsbytagname(itemcontato); Node item = listaitens.item(0).getfirstchild(); return item.getnodevalue(); public static void main(string[] args) { try { LeitorXML2 leitor = new LeitorXML2(); ArrayList agenda = leitor.lerxml("agenda.xml"); for(int i=0;i<agenda.size();i++){ Contato contato = (Contato) agenda.get(i); System.out.println(contato); catch (ParserConfigurationException e) { System.out.println("parser não foi configurado corretamente"); catch (SAXException e) { System.out.println("problema ao analisar o arquivo XML"); catch (IOException e) { System.out.println("arquivo não pode ser lido"); 1. Dica Para entender melhor as classes e interfaces utilizadas, acesse a documentação da API Java: 23
10 Criando Documentos XML No item 3, você aprendeu ler um documento XML e armazenar em uma estrutura de dados dentro do Java. Neste item, você irá aprender como criar e salvar dados um documento XML. O processo é bem similar ao processo anterior. Porém, necessitamos criar o documento XML e criar os nodos. No exemplo anterior, foi utilizado o objeto DocumentBuilder para interpretar um documento XML. Você também necessita deste objeto para criar um documento novo e vazio. A classe Document também possui métodos para criar nodos de elementos e de texto. Para isto, utilize os seguintes métodos: createelement(): este método permite a criação de nodos de elementos; createtextnode(): este método permite a criar nodos de texto. Por fim, para salvar um documento XML em um fluxo (por exemplo, um arquivo) são utilizadas algumas classes de transformação de XML. Isto é um tópico avançado, porém para esta finalidade você não necessita saber muito sobre transformações. O código a seguir apresenta a transformação (escrita) de uma coleção de objetos em um documento XML. Neste exemplo, a coleção catalogodefilmes armazena objetos do tipo Filme, os quais são armazenados em um arquivo XML. Durante a escrita devem-se salientar os seguintes pontos: Para criar um novo documento, primeiro crie a fábrica de construtores de documento, em seguida o construtor de documentos e por fim o documento vazio através do método newdocument() (linhas 23-27); Iniciamos a criação dos nodos pelo elemento raiz através do método createelement() (linha 29); Após devemos criar toda a estrutura da árvore: criando os nodos através do método createelement() e realizando as ligações da árvore (adicionado os filhos) através do método appendchild() (linhas 36-45); São necessárias as classes de transformação para escrever no documento XML. Crie um Transformer e após a transforme o Document em uma DMSource, e seu fluxo de saída em uma StreamResult. O Transformer grava o documento XML sem espaços e quebras de linha (linhas 49-55); Já que o programa está organizado em métodos no método main são criados os objetos Filme e armazenados na coleção (ArrayList) catalogodefilmes, também é realizada a impressão dos elementos da coleção; Por fim, na linha 73 é chamado o método armazenar() que armazena os elementos da coleção em um arquivo XML de nome catalogo.xml package ifsul.tsiad.exemplosxml; import javax.xml.parsers.documentbuilder; import javax.xml.parsers.documentbuilderfactory; import javax.xml.parsers.parserconfigurationexception; import javax.xml.transform.transformer; import javax.xml.transform.transformerexception; import javax.xml.transform.transformerfactory; import javax.xml.transform.dom.domsource; import javax.xml.transform.stream.streamresult; import java.io.fileoutputstream; import org.w3c.dom.document; import org.w3c.dom.element; import org.w3c.dom.text; import org.xml.sax.saxexception; import java.io.ioexception; import java.util.arraylist; public class CriarXML { public void armazenar(arraylist catalago, String nomearquivoxml) throws ParserConfigurationException, SAXException, IOException, TransformerException { DocumentBuilderFactory factory = 24
11 DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newdocumentbuilder(); // 1. Criar um novo documento através do método newdocument() Document doc = builder.newdocument(); // 2. Criar o elemento raiz Element catalogoelement = doc.createelement("catalogo"); // 3. Criar a estrutura de árvore para cada Filme // armazenado na coleção // - deve ser criar os nodos e inserido o texto // (nomes e genero dos filmes) for(int i=0;i<catalago.size();i++){ Filme filme = (Filme) catalago.get(i); Element filmeelement = doc.createelement("filme"); Element tituloelement = doc.createelement("titulo"); Text valortitulo = doc.createtextnode(filme.gettitulo()); tituloelement.appendchild(valortitulo); Element generoelement = doc.createelement("genero"); Text valorgenero = doc.createtextnode(filme.getgenero()); generoelement.appendchild(valorgenero); filmeelement.appendchild(tituloelement); filmeelement.appendchild(generoelement); catalogoelement.appendchild(filmeelement); doc.appendchild(catalogoelement); // 4. Uso das classes de transformação para escrever no arquivo TransformerFactory transfactory = TransformerFactory.newInstance(); Transformer transformer = transfactory.newtransformer(); DOMSource source = new DOMSource(doc); StreamResult result = new StreamResult( new FileOutputStream(nomeArquivoXML)); transformer.transform(source, result); public static void main(string[] args) { ArrayList catalogofilmes = new ArrayList(); // Armazena os filmes na coleção catalogofilmes.add(new Filme("O Poderoso Chefao", "Drama")); catalogofilmes.add(new Filme("Tootsie", "Comedia")); catalogofilmes.add(new Filme("Os Sete Crimes Capitais", "Policial")); // Imprime para verificar for(int i=0;i<catalogofilmes.size();i++){ Filme filme = (Filme) catalogofilmes.get(i); System.out.println(filme); try { CriarXML criarxml = new CriarXML(); // Salva os dados da coleção no arquivo XML criarxml.armazenar(catalogofilmes, "catalogo.xml"); catch (ParserConfigurationException e) { System.out.println("parser não foi configurado corretamente"); catch (TransformerException e) { System.out.println("transformação da árvore XML sem sucesso"); catch (SAXException e) { System.out.println("problema ao analisar o arquivo XML"); catch (IOException e) { System.out.println("arquivo não pode ser lido"); O código a seguir apresenta a classe Filme, necessária para o funcionamento da classe anterior (que realizava a gravação em um documento XML). 25
12 package ifsul.tsiad.exemplosxml; public class Filme { private String titulo; private String genero; public Filme(String titulo, String genero) { this.titulo = titulo; this.genero = genero; public String getgenero() { return genero; public void setgenero(string genero) { this.genero = genero; public String gettitulo() { return titulo; public void settitulo(string titulo) { this.titulo = titulo; public String tostring(){ return (this.titulo + "\n" + this.genero); A Figura B.11 apresenta o documento XML gerado pelo programa. Cabe salientar que não apresenta espaços em branco e quebras de linha (foram inseridos para melhor visualização). Modificando Documentos XML A modificação de um documento XML é muito similar a sua leitura e criação. O que é realizado é a alteração de alguns nodos ou inserção de outros na árvore e, após, o documento XML deve ser salvo novamente. O código a seguir apresenta um exemplo que modifica o documento XML da Figura B9. O objetivo do programa é encontrar o nome Jose da Silva e substituir por Jose Bueno da Silva. Para tanto, deve ser lido o documento XML como já aprendemos. Após, devemos localizar o nodo que possui o texto Jose da Silva e substituí-lo por Jose Bueno da Silva. Durante a modificação do documento no programa a seguir, devem-se salientar os seguintes pontos: 26
13 Obter os contatos a partir do elemento raiz como já realizado na leitura (linhas 30-31); Para cada elemento do contato, encontrar o nome com o tipo nome e verificar se é o que procuramos (linhas 33-40); Se o valor do nodo for igual ao nome procurado (linha 40), criar um novo nodo com elemento e texto (linhas 43-44); Após, substituir o nodo antigo pelo novo nodo (com a informação atualizada) através do método replacechild() (linha 48); Por fim, gravar o documento XML através das classes de transformação (linhas 52-58) package ifsul.tsiad.exemplosxml; import javax.xml.parsers.documentbuilder; import javax.xml.parsers.documentbuilderfactory; import javax.xml.parsers.parserconfigurationexception; import javax.xml.transform.transformer; import javax.xml.transform.transformerexception; import javax.xml.transform.transformerfactory; import javax.xml.transform.dom.domsource; import javax.xml.transform.stream.streamresult; import org.w3c.dom.document; import org.w3c.dom.element; import org.w3c.dom.node; import org.w3c.dom.nodelist; import org.w3c.dom.text; import org.xml.sax.saxexception; import java.io.ioexception; import java.io.fileoutputstream; import java.io.file; public class ModificarXML { public void leremodificarxml(string nomearquivoxml) throws ParserConfigurationException, SAXException, IOException, TransformerException { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newdocumentbuilder(); File f = new File(nomeArquivoXML); Document doc = builder.parse(f); Element raiz = doc.getdocumentelement(); NodeList contatos = raiz.getelementsbytagname("contato"); // Para cada contato deve verificar o nome que deseja substituir for (int i=0; i<contatos.getlength(); i++){ Element elementocontato = (Element) contatos.item(i); // Obtem o nodo que possui o elemento do tipo "nome" Node nome = elementocontato.getelementsbytagname("nome").item(0); System.out.println(nome.getFirstChild().getNodeValue()); // Verifica se o nome é o que se deseja alterar if(nome.getfirstchild().getnodevalue().equals("jose da Silva")){ // Cria um novo nodo com elemento e texto Element novonome = doc.createelement("nome"); Text valornome = doc.createtextnode("jose Bueno da Silva"); novonome.appendchild(valornome); // Troca o nodo filho antigo pelo novo elementocontato.replacechild(novonome, nome); TransformerFactory transfactory = TransformerFactory.newInstance(); Transformer transformer = transfactory.newtransformer(); DOMSource source = new DOMSource(doc); StreamResult result = new StreamResult( new FileOutputStream(nomeArquivoXML)); transformer.transform(source, result); 27
14 Dica public static void main(string[] args) { try { ModificarXML modifica = new ModificarXML(); modifica.leremodificarxml("agenda.xml"); catch (ParserConfigurationException e) { System.out.println("parser não foi configurado corretamente"); catch (TransformerException e) { System.out.println("transformação da árvore XML sem sucesso"); catch (SAXException e) { System.out.println("problema ao analisar o arquivo XML"); catch (IOException e) { System.out.println("arquivo não pode ser lido"); Estude mais sobre XML. Procure se informar sobre como produzir Definições de Tipos de Documento (DTD). DTD é uma sequência de regras que descreve os elementos filhos e atributos válidos para cada tipo de elemento. 28
15 Atividade 2 Prezado(a) aluno(a), as atividades da Unidade B (XML) versam sobre o desenvolvimento de dois programas em Java que manipulam documentos XML. Desta forma, você deve desenvolver esses programas na linguagem Java e os executar no NetBeans. 1. Desenvolva um programa em Java que leia o documento XML, apresentado a seguir, e armazene em uma estrutura de dados do tipo coleção. Após a leitura e armazenamento das informações, escreva estes dados na tela (console). <?xml version= 1.0 > <laboratorio> <computador> <modelo>pentium 4</modelo> <frequencia>3.0ghz</frequencia> <memoria>256 MB</memoria> <hd>250gb</hd> </computador> <computador> <modelo>intel Dual Core</modelo> <frequencia>1.8ghz</frequencia> <memoria>3gb</memoria> <hd>500gb</hd> </computador> <computador> <modelo>phenom II X4</modelo> <frequencia>3.0ghz</frequencia> <memoria>3gb</memoria> <hd>500gb</hd> </computador> <computador> <modelo> Celeron </modelo> <frequencia>2.8ghz </frequencia> <memoria>512mb </memoria> <hd>250gb</hd> </computador> </laboratorio> 2. Desenvolva um programa na linguagem Java que: Leia e armazene em uma estrutura de dados (como objetos) cinco dados de alunos; 29
16 A classe Aluno deve conter no mínimo três atributos (sendo um deles o valor de uma nota); Imprima a média das notas dos alunos; Armazene os dados dos alunos em documento XML (turma.xml). 30
XML. Prof. Júlio Machado
XML Prof. Júlio Machado julio.machado@pucrs.br PROCESSAMENTO Análise Sintática Para ler e analisar o conteúdo de um documento XML, utiliza-se um analisador sintático para XML Analisadores sintáticos (ou
Leia maisFicha de Trabalho nº6. Curso de Especialização Tecnológica
Ficha de Trabalho nº6 Curso de Especialização Tecnológica Tecnologia e Programação de Sistemas de Informação 3ª Edição Componente de formação: Integração de SI Ferramentas Introdução Java XML Stax (Streaming
Leia maisMódulo 5. Programação Orientada a Objetos. Programação Orientada a Objetos I Java (Rone Ilídio)
Módulo 5 Programação Orientada a Objetos Programação Orientada a Objetos I Java (Rone Ilídio) Programação Orientada a Objetos Registro em Pascal: Type Cliente = Record Nome: String; Telefone: String; Idade:
Leia maisFundamentos da programação Parte - 1
Fundamentos da programação Parte - 1 1. Objetivos Nesta lição discutiremos as partes básicas de um programa em Java. Começaremos explicando as partes do programa Hello.java mostrado na última lição. Discutiremos
Leia maisLinguagem de Programação II Implementação
Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Implementação em Java Variáveis Palavras reservadas Pacotes Identificador this Acessando membros de outros objetos API Java Nossa
Leia maisFamiliarização com a ferramenta JavaCC
Ficha nº 2 Familiarização com a ferramenta JavaCC Estrutura do ficheiro JavaCC O JavaCC utiliza um ficheiro com a extensão.jj, onde são descritos, pelo utilizador, o léxico e a sintaxe da linguagem e gera
Leia maisClasses e Objetos em Java. Algoritmos e Programação I. Classes. Classes. Modificadores de Acesso. Classes. Revisão
e Objetos em Java Algoritmos e Programação I Aula 9 Profa. Márcia Cristina Moraes mmoraes@inf.pucrs.br Profa. Sílvia M. W. Moraes silvia@inf.pucrs.br Prof. Marcelo H. Yamaguti yamaguti@inf.pucrs.br Prof.
Leia maisLógica de Programação e Algoritmos com exemplos na linguagem JAVA
Lógica de Programação e Algoritmos com exemplos na linguagem JAVA Cap. 5 Programação Estruturada: Funções Conteúdo: 5.1 Programação estruturada ou modular... 66 5.2 Funções... 67 5.3 Passagem de parâmetros...
Leia maisNotas de Aula 09: Tratamento de exceções
Notas de Aula 09: Tratamento de exceções Objetivos da aula: Compreender o conceito de exceção Aprender a tratar exceções nos programas Entender a hierarquia das exceções Criar e lançar uma exceção proprietária
Leia maisObs.: para realizar estas atividades tenha certeza de que já tenha instalado no sistema operacional o Java JDK e o NetBeans.
1 - Criando meu primeiro programa em Java Para criar um programa Java podemos utilizar um editor de textos (Bloco de Notas/Windows, Notepad ++ ou GEdit/Linux) e o console do sistema operacional, ou um
Leia maisCapítulo 6: Arquivos
Capítulo 6: Arquivos Waldemar Celes e Roberto Ierusalimschy 29 de Fevereiro de 2012 1 Funções de entrada e saída em arquivos Nos capítulos anteriores, desenvolvemos programas que capturam seus dados de
Leia maisXML E DOM no desenvolvimento de um Sistema de Armazenamento e Manipulação de Documentos Jurídicos
XML E DOM no desenvolvimento de um Sistema de Armazenamento e Manipulação de Documentos Jurídicos Bruno Vilar 1, Thiago da Silva Borges 1, Parcilene Fernandes de Brito 1, Jackson Gomes de Souza 1 1 Curso
Leia maisHierarquia de classes. Veja as diversas classes do pacote
Entrada e Saída Introdução Input e Output fazem parte do pacote java.io Esse pacote tem uma quantidade grande de classes que dão suporte a operações de entrada e saída As classes básicas são InputStream
Leia maisProgramação Estruturada e Orientada a Objetos. Objetos e Métodos
Programação Estruturada e Orientada a Objetos Objetos e Métodos 2013 O que veremos hoje? Objetos e Métodos Transparências baseadas no material do Prof. Jailton Carlos Objetivos Aprender a criar construtores;
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Implementação do analisador de logs do Servidor Web com base nos requisitos da unidade curricular de Estatística, de acordo com o roteiro abaixo: Recuperar o conteúdo do
Leia maisApêndice A. Alguns construtores e métodos importantes e úteis da classe Vector são:
Apêndice A Classe Vector A classe Vector permite a representação de um vetor de dados de maneira similar à de um array, visto na disciplina Programação Orientada a Objetos I, mas com maior flexibilidade.
Leia maisUsando o Eclipse - Fundamentos. Professor Vicente Paulo de Camargo
Usando o Eclipse - Fundamentos Professor Vicente Paulo de Camargo O Eclipse é um ambiente de desenvolvimento integrado (IDE) É a ferramenta mais utilizada pelas empresas, visto que pode ser configurada
Leia maisJava - Conexão ao Banco de Dados usando JDBC
Java - Conexão ao Banco de Dados usando JDBC 1. Criar o modelo no DBDesigner, como mostrado a seguir. Salvar o script de criação da tabela. 2. Criar o esquema e as tabelas no MySQL (Pode usar o MySQL Query
Leia maisColeções. João Paulo Q. dos Santos
Coleções João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Roteiro Conceitos sobre coleções; Tipos de coleções; Como são classificadas; Exemplos. 04/02/14 2 Coleções Classes e interfaces do pacote java.util
Leia maisRecapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... }
Recapitulando Orientação a objetos: programas organizados em torno da definição de classes, instanciação de objetos e troca de mensagens. Declaração de variáveis de referencia: Circle c; Criação/instanciação
Leia maisVariáveis primitivas e Controle de fluxo
Variáveis primitivas e Controle de fluxo Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/
Leia maisClasses e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II Classes e Objetos Objetos Um conjunto de estados e comportamentos Classes Um modelo para a criação de objetos 1 Pacotes e Java API Pacotes Um conjunto
Leia maisLinguagem Técnica I. Prof. Jonatas Bastos
Linguagem Técnica I Prof. Jonatas Bastos Email: jonatasfbastos@gmail.com 1 Objetivo da Disciplina p Entender os conceitos da programação orientada a objetos; p Aplicar conceitos básicos relativos a objetos
Leia maisStrings e Arrays POO
Strings e Arrays POO Prof. Marcio Delamaro Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 1/27 String Uma sequência de caracteres que representa uma informação textual Em Java existe um
Leia maisOrientação a Objetos AULA 09
Orientação a Objetos AULA 09 Prof. Fabrício Martins Mendonça Conteúdo da Aula ü Coleções ü Coleções lista de objetos ü Coleções conjuntos 2 Coleções Podemos armazenar vários objetos em um array e este
Leia maisProgramação Orientada a Objetos SANTOS, Rafael (PLT)
Programação Orientada a Objetos SANTOS, Rafael (PLT) Possibilita atribuições em sequência na mesma instrução Retorna o valor atribuído Atribuições compostas: incluem a própria variável: +=, *=, -=, etc
Leia maisSimbiose entre Tecnologias: XML e Java
Simbiose entre Tecnologias: XML e Java Marcio H. Zuchini USF - Itatiba mhzuchini@yahoo.com.br Oclair G. Prado Unisal - Americana oclair.prado@am.unisal.br Márcio Henrique Zuchini (Mestre em Engenharia
Leia maisUnidade 7: Documentação de Código A Importância dos Comentários Prof. Daniel Caetano
Linguagem de Programação 1 Unidade 7: Documentação de Código A Importância dos Comentários Prof. Daniel Caetano Objetivo: Desenvolver a habilidade de comentar código adequadamente INTRODUÇÃO Até o momento
Leia maisTECNOLOGIA WEB INTRODUÇÃO CONSTRUÇÃO DE PÁGINAS ESTÁTICAS HTML / XHTML
INTRODUÇÃO CONSTRUÇÃO DE PÁGINAS ESTÁTICAS HTML / XHTML 1 INTRODUÇÃO TECNOLOGIA WEB Começaremos desvendando o poder do desenvolvimento de aplicações baseadas na Web com a XHTML (Extensible HyperText Markup
Leia maisp Pacotes, a grosso modo, são apenas pastas ou diretórios do sistema operacional onde ficam armazenados os arquivos fonte de Java.
Pacotes e Jar 1 Pacotes p Usamos pacotes em java para organizar as classes semelhantes. p Pacotes, a grosso modo, são apenas pastas ou diretórios do sistema operacional onde ficam armazenados os arquivos
Leia maisALGORITMOS. Professor: Diego Oliveira. Aula 06 - Tipos Primitivos de Dados
ALGORITMOS Professor: Diego Oliveira Aula 06 - Tipos Primitivos de Dados Netbeans Para testar nossos exemplos criaremos uma classe no Netbeans Nesta disciplina não será visto nada de orientação a objetos,
Leia maisCETEC Centro Paula Souza
Atualização da Competição Maratona de Programação 2018 2º Semestre Finalidade Este documento tem por finalidade informar aos professores responsáveis pelos times das unidades participantes da Maratona
Leia maisGenéricos. Profa. Thienne Johnson EACH/USP
Genéricos Profa. Thienne Johnson EACH/USP Java, como programar, 6ª edição Deitel & Deitel Capítulo 18 Material complementar http://wps.prenhall.com/br_deitel_comoprogra_6/ Todas as classes em Java herdam,
Leia maisLógica de Programação e Algoritmos
Lógica de Programação e Algoritmos com exemplos na linguagem JAVA Cap. 4 Estruturas de Dados Homogêneas Vetores e Matrizes Conteúdo: 4.1 Variáveis compostas homogêneas... 55 4.2 Vetores... 56 Exercícios
Leia maisAula 03 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes
Aula 03 Introdução à Java Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www3.ifrn.edu.br/~brunogomes Agenda da Aula Representação de Algoritmos em Pseudocódigo: Tipos de Dados;
Leia maisComputação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz /05/13. Questão: Total Pontos: Gráu:
Computação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz - 2015/05/13 Questão: 1 2 3 4 5 6 Total Pontos: 20 15 15 10 10 30 100 Gráu: 1. Defina os termos listados a seguir: (a) (10 Pontos)
Leia maisConceitos, Arquitetura e Design
capítulo 1 Conceitos, Arquitetura e Design 1.1 O que são os serviços de diretórios? Segundo a Wikipédia: Um serviço de diretório é um software que armazena e organiza informações sobre os recursos e os
Leia maisLinguagem de Programação II Importando Classes/Pacotes
Linguagem de Programação II Importando Classes/Pacotes Prof. Alessandro Borges 2 Tópicos Pacotes Usando classes do mesmo pacote Importando classes de pacotes diferentes 3 Pacotes 4 Pacotes Como visto em
Leia maisClasses e Objetos. Prof. Fernando V. Paulovich 9 de agosto de 2010
Classes e Objetos SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade
Leia maisCURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
USANDO COLLECTION VECTOR Como já fora explicado em outros textox, qualquer aplicação orientada a objeto possui, geralmente, um programa principal, através do qual efetua-se a chamada aos demais programas
Leia maisLição 4 Fundamentos da programação
Lição 4 Fundamentos da programação Introdução à Programação I 1 Objetivos Ao final desta lição, o estudante será capaz de: Identificar as partes básicas de um programa em Java Reconhecer as diferenças
Leia maisIntrodução à Orientação a Objetos em Java
Introdução à Orientação a Objetos em Java Prof. Gustavo Wagner (Alterações) Slides originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB Centro de Informática, UFPE Programação estruturada
Leia maisManipulação de arquivos. João Paulo Q. dos Santos
Manipulação de arquivos João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Introdução Uma das principais facilidades em Java, comparando com outras linguagem de programação, é a facilidade na leitura e
Leia maisRoteiro. Introdução. Uma Introdução à Programação Orientada a Objetos e JAVA usando NetBeans. Objetos. Princípios da Orientação a Objetos
Uma Introdução à Programação Orientada a Objetos e JAVA usando NetBeans Roteiro Introdução Conceitos de Oientação a Objetos A Linguagem Java NetBeans (www.netbeans.org) Fernando Vieira Paulovich paulovic@icmc.usp.br
Leia maisMecanismo de Persistência
Hibernate Mecanismo de Persistência Marco Antonio, Arquiteto de Software TJDF ma@marcoreis.eti.br Dezembro/2005 Hibernate Mecanismo de persistência (operações em banco como inserir, atualizar, consultar
Leia maisXML. Prof. Júlio Machado
XML Prof. Júlio Machado julio.machado@pucrs.br INTRODUÇÃO O que é XML? É a sigla de Extensible Markup Language Linguagem de especificação para descrever dados Padrão aberto e largamente usado Definido
Leia maisArquivos continuação. Profa. Thienne Johnson EACH/USP
Arquivos continuação Profa. Thienne Johnson EACH/USP Java, como programar, 6ª edição Deitel & Deitel Capítulo 14 Serialização de objetos Lê e escreve objetos inteiros em arquivo; Arquivo em formato binário.
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Engenharia da Computação Professor: Rosalvo Ferreira de Oliveira Neto Dados Pessoais Rosalvo Ferreira de Oliveira Neto MSc. em ciência da computação (UFPE) rosalvo.oliveira@univasf.edu.br
Leia maisCONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO
CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO CLASSES E OBJETOS PARA PROGRAMAÇÃO ORIENTADA A OBJETOS Classes são estruturas das linguagens de POO criadas para conter os dados que
Leia maisDocumentação. Java First-Tier: Aplicações. Documentação com javadoc. Comentários especiais. Marcas Especiais. Exemplo. Finalidade das marcas
Java First-Tier: Aplicações Documentação com javadoc Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Ferramenta javadoc Documentação Documentação a partir de comentários Formato
Leia maisGravação de objetos em arquivos
Gravação de objetos em arquivos Programação Orientada a Objetos Prof. Tulio Alberton Ribeiro Instituto Federal de Santa Catarina IFSC campus São José tulio.alberton@ifsc.edu.br 17 de setembro de 2014 1
Leia maisInstituto de Informática Estrutura de Dados II
Instituto de Informática Estrutura de Dados II Revisão de Métodos em Classes Aplicada a Estrutura de Dados Básicas 20/08/2018 Profa. Lucília Gomes Ribeiro Prof. Dirson S Campos Programação em Java q O
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
6 Exceções Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção. Uma exceção é um erro recuperável O controlo da execução do programa
Leia maisPLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE
PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE ATO CONVOCATÓRIO Nº 006/2016 CONTRATO DE GESTÃO IGAM Nº 002/IGAM/2012 09/2017 1 PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE ATO CONVOCATÓRIO
Leia maisJSP (JAVASERVER PAGES)
UNIDADEC Nesta unidade, você irá conhecer a tecnologia JSP (JavaServer Pages). JSP permite implementar páginas dinâmicas na web. As páginas JSP contêm marcas HTML e instruções Java. O objetivo desta unidade
Leia maisClasses e Objetos. Sintaxe de classe em Java
Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados
Leia maisLinguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces
Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces Professora Sheila Cáceres Polimorfismo Polimorfismo Polimorfismo é a característica única de linguagens orientadas
Leia maisTratando exceções em Java
Página 1 de 9 En Tecnologias Revistas Cursos Pocket videos DevWare Fórum Serviços Publicar Comprar Bem vindo a DevMedia! LOGIN: SENHA: Esqueci minha senha Cadastre-se post favorito comentários Tratando
Leia maisCollections Framework
Collections Framework 1 Arrays p Manipular array é bastante trabalhoso. p Dificuldades aparecem em diversos momentos: n não podemos redimensionar um array em Java; n é impossível buscar diretamente por
Leia maisXML - Extensible Markup Language
Por Sergio Crespo XML - Extensible Markup Language Extensible Markup Language (XML) é linguagem de marcação de dados (meta-markup language) que provê um formato para descrever dados estruturados. Isso
Leia maisTratamento de Exceções
Fundamentos de Programação Tratamento de Exceções Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br O que é??? É um evento que interrompe o fluxo normal de
Leia maisComputação II - Java - Teste 1.2 Prof. Adriano Joaquim de Oliveira Cruz 2015/04/27
1. Defina os sequintes termos: (a) (1 Ponto) Polimorfismo Computação II - Java - Teste 1.2 Prof. Adriano Joaquim de Oliveira Cruz 2015/04/27 (b) (1 Ponto) Sobrescrita de funções (c) (1 Ponto) Sobrecarga
Leia maisClasses o Objetos. Classes, objetos, métodos e variáveis de instância
Classes o Objetos Um recurso comum de cada aplicativo feito até agora é que todas as instruções que realizavam tarefas localizavam-se no método main. Se você tornar parte de uma equipe de desenvolvimento
Leia maisManipulação de XML JAXP - DOM
UNIPÊ Centro Universitário de João Pessoa Desenvolvimento para Web - XML Manipulação de XML JAXP - DOM Prof. Eduardo Ribas ducaribas@gmail.com 1 4 JAXP DOM O que é DOM? Document Object Model API padrão
Leia maisFundamentos de Programação 1
Fundamentos de Programação 1 Slides N. 2 D / Prof. SIMÃO Slides elaborados pelo Prof. Robson Linhares elaborados pelo Prof. Robson Linhares http://www.dainf.ct.utfpr.edu.br/~robson/ Jean Marcelo SIMÃO
Leia maisModelo para a representação de informações, utilizado por aplicações Web que trabalham com a tecnologia AJAX.
JSON Modelo para a representação de informações, utilizado por aplicações Web que trabalham com a tecnologia AJAX. 1. Introdução JSON (JavaScript Object Notation) é um modelo para armazenamento e transmissão
Leia maisProgramação Orientada aos Objectos I
Programação Orientada aos Objectos I UEM Fevereiro 2014 Docente: eng a Tatiana Kovalenko AULA TEÓRICA 1 Tema 1. Introdução à POO Ø Revisão: POO. Classes e Objectos. Elaborado por eng.tatiana Kovalenko,
Leia maisTRATAMENTO DE EXCEÇÕES
Uma exceção em Java é um sinal que alguma condição excepcional aconteceu; Algo de errado aconteceu! Exemplos: solicitação de abertura de um arquivo não encontrado; índice de um array fora de faixa; uma
Leia maisJAVA. Professor: Bruno Toledo
JAVA Professor: Bruno Toledo Funcionamento de uma LP Em uma Linguagem de Programação (LP) como C e Pascal, temos o seguinte quadro quando vamos compilar um programa. Código fonte em c Teste.c Gera código
Leia maisLaboratório de Programação. Aula 12 Java 5COP088. Aula 12 Exceções Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr
5COP088 Laboratório de Programação Aula 12 Exceções Prof. Dr. Sylvio Barbon Junior 1 Sumário: 1) Manipulação de Exceções; 1) Try e Catch 2) Finally 3) Propagação (Throw e Throws) 2) Erros e Exceções Comuns;
Leia maisTratamento de Exceção. Programação Orientada a Objetos Java (Rone Ilídio)
Tratamento de Exceção Programação Orientada a Objetos Java (Rone Ilídio) Tratamento de exceção Exceção é uma contração de Evento de Exceção Evento de exceção impede a execução normal de um programa Quando
Leia maisJava RMI. RMI Remote Method Invocation. Chamadas Remotas de Procedimentos (RPC) RPC - Implementação
Java Remote Method Invocation Java Remote Method Invocation () é um protocolo Java para comunicação entre processos Permite objetos Java invocar transparentemente métodos de outros objetos (que podem estar
Leia maisAmbiente de desenvolvimento
Linguagem C Ambiente de desenvolvimento Um programa em C passa por seis fases até a execução: 1) Edição 2) Pré-processamento 3) Compilação 4) Linking 5) Carregamento 6) Execução Etapa 1: Criação do programa
Leia maisNOVIDADES DO JAVA PARA PROGRAMADORES C
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB NOVIDADES DO JAVA PARA PROGRAMADORES C Prof. Dr. Daniel Caetano 2011-2 Visão Geral 1 2 4 5 Classes Objetos Herança Tratamento de Erros Material de Estudo Material Notas
Leia maisEstrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas
Estrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas Estrutura de um Programa em Linguagem Algorítmica Nesse curso nós vamos utilizar a linguagem algorítmica para
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Pacotes e Encapsulamento Msc. Paulo de Tarso F. Júnior 1 Introdução Permite o agrupamento de classes em uma coleção chamada pacote Um pacote é uma coleção de classes e interfaces
Leia maisCURSO BÁSICO DE PROGRAMAÇÃO AULA 17. Manipulação de arquivos binários.
CURSO BÁSICO DE PROGRAMAÇÃO AULA 17 Manipulação de arquivos binários. Revisão Abrindo arquivos de texto em C FILE *arquivo = fopen(, ); FILE: Tipo do objeto de arquivo. fopen: Função
Leia maisAULA 2 VISÃO BÁSICA DE CLASSES EM PHP
AULA 2 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem
Leia maisArray em Java. Figura 1 - Exemplo de um array de inteiros
Array em Java 1. Objetivos Nesta lição, abordaremos Array em Java. Primeiro, definiremos o que é array e, então, discutiremos como declará-los e usá-los. Ao final desta lição, o estudante será capaz de:
Leia maisCriar um projeto ->. Criar no pacote entity as classes Jogador, Equipe, Pontuacao e GerenteProjeto. Na classe Jogador criar os atributos(idjogador, nome e pontos). Fazer o relacionamento do jogador com
Leia maisCriando a Classe Pessoa Exemplo: Crie e modele uma classe que receba o nome, idade e peso de uma Pessoa. Ao final mostre os dados na tela.
Aula 09 Criando a Classe Pessoa Exemplo: Crie e modele uma classe que receba o nome, idade e peso de uma Pessoa. Ao final mostre os dados na tela. Conforme a aula anterior vamos seguir as regras de padronização
Leia maisLinguagens de Domínio Específico
Linguagens de Domínio Específico Fabio Mascarenhas 2016.1 http://www.dcc.ufrj.br/~fabiom/dsl Processamento de uma DSL PEGs As gramáticas de expressões de parsing, ou PEGs (parsing expression grammars)
Leia maisAula 5 POO 1 Encapsulamento. Profa. Elaine Faria UFU
Aula 5 POO 1 Encapsulamento Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem de adaptações
Leia mais9/24/2014. Prof. André Backes
Prof. André Backes 1 Arquivos Por que usar arquivos? Permitem armazenar grande quantidade de informação; Persistência dos dados (disco); Acesso aos dados poder ser não sequencial; Acesso concorrente aos
Leia maisPROCESSO SELETIVO PARA ESTÁGIO REMUNERADO NO TRIBUNAL DE CONTAS DO ESTADO DO MARANHÃO ENSINO SUPERIOR - INFORMÁTICA
PROCESSO SELETIVO PARA ESTÁGIO REMUNERADO NO TRIBUNAL DE CONTAS DO ESTADO DO MARANHÃO ENSINO SUPERIOR - INFORMÁTICA LEIA ATENTAMENTE AS INSTRUÇÕES ABAIXO. Você recebeu um CADERNO DE QUESTÕES contendo 5
Leia maisINTRODUÇÃO AO USO DO DEV C++ Disciplina: Introdução à Ciência da Computação Prof. Modesto Antonio Chaves Universidade estadual do Sudoeste da Bahia
INTRODUÇÃO AO USO DO DEV C++ Disciplina: Introdução à Ciência da Computação Prof. Modesto Antonio Chaves Universidade estadual do Sudoeste da Bahia Tela inicial do Editor de programas do DEV C++ Dicas
Leia maisTratamento de Erros. Sérgio Luiz Ruivace Cerqueira
Tratamento de Erros Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Agenda Introdução Try, catch, finally Unchecked Exceptions Como levantar exceções Boas práticas O problema Calculadora numero1:
Leia maisAula 08 Encapsulamento. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes
Aula 08 Encapsulamento Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Projeto Orientado a Objetos Princípios: Abstração; Encapsulamento; Modularidade.
Leia mais1. Estude e implemente a classe Exemplo1 apresentada abaixo:
P. Fazendeiro & P. Prata POO FP09/1 Exceções Uma exceção (Exception) é um sinal gerado pela máquina virtual de Java em tempo de execução indicando uma situação de erro da qual é possível recuperar. O objectivo
Leia maisM V C, J S O N E X M L P R O F. M E. H É L I O E S P E R I D I Ã O
M V C, J S O N E X M L P R O F. M E. H É L I O E S P E R I D I Ã O A P L I C A Ç Õ E S M O N O L Í T I C A S Na época dos computares independentes um aplicativo era desenvolvido para ser usado em uma única
Leia maisCriar um projeto ->. Criar no pacote entity a classe Funcionario com os atributos(idfuncionario, nome, sexo, ativo, salario). Criar construtor vazio, o construtor cheio, o tostring com todos os atributos
Leia maisESQUEMA AULA PRÁTICA 1
P. Fazendeiro & P. Prata POO FP1/1 ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente JBuilder Introdução à Linguagem de Programação JAVA 0 Inicie o ambiente de desenvolvimento integrado JBuilder. Start
Leia maisDesenvolvendo aplicações Java
José Roberto Madureira Junior Adaní Cusin Sacilotti Adriana Rodrigues Reginaldo Sacilotti Desenvolvendo aplicações Java Primeira Edição São Paulo 2017 Sumário 1 INTRODUÇÃO AO JAVA... 1 1.1 A PLATAFORMA
Leia maisExceções. Criando suas exceções
Exceções Criando suas exceções Tratamento de Exceções O tratamento de exceções em Java permite o gerenciamento de erros em tempo de execução. Uma exceção em Java é um objeto que descreve uma condição de
Leia maisIntrodução a classes e objetos. Prof. Marcelo Roberto Zorzan
Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Aula de Hoje Abstração de Dados Classes e Objetos Definição de Métodos Métodos com parâmetro Abstração de Dados Processo mental através do qual
Leia mais