Como criar arquivo XML em Java (DOM Parser)
Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /home/feltexco/public_html/felix/wp-content/plugins/wp-syntax/wp-syntax.php on line 380
Como criar arquivo XML em Java (DOM Parser)
Olá Amigos, Hoje veremos como utilizar a Linguagem Java para criar arquivos XML. Existem muitas formas de fazer essas operações: desde formas nativas da linguagem (nossa abordagem hoje) ou quanto utilizando frameworks. Em qualquer das abordagens veremos que não são tarefas que demandam grande esforço desde que conheçamos a forma mais adequada de manipular esses famosos arquivos XML (eXtensible Markup Language).

Uma das opções mais interessante é a utilização do Framework Criando XML em Java XStream. No site oficial há outros exemplos que podem auxiliar você a fazer várias operações até mesmo a utilização de arquivos JASON.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | package br.com.feltex.webservice.dom;
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
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;
public class CriaArquivoDOM {
public static void main(String[] args) {
System.out.println("Inicio");
DocumentBuilderFactory documentFactory = DocumentBuilderFactory
.newInstance();
DocumentBuilder dBuilder;
try {
dBuilder = documentFactory.newDocumentBuilder();
Document doc = dBuilder.newDocument();
// Cria o elemento raiz do nosso XML
Element rootElement = doc.createElementNS(
"http://www.feltex.com.br/aluno", "Alunos");
// Adiciona um elemento ao documento
doc.appendChild(rootElement);
// Adiciona o primeiro elemento filho ao elemento raiz
rootElement.appendChild(criarAluno(doc, "1", "Jose da Silva", "55",
"Analista de Sistema", "Masculino"));
// Adiciona o segundo elemento filho do elemento raiz
rootElement.appendChild(criarAluno(doc, "2", "Maria", "22",
"Analista de Banco de Dados", "Feminino"));
//Cria os objetos que fazem referências à console e ao arquivo
TransformerFactory transformerFactory = TransformerFactory
.newInstance();
Transformer transformer = transformerFactory.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
DOMSource source = new DOMSource(doc);
StreamResult console = new StreamResult(System.out);
StreamResult file = new StreamResult(new File("C:/temp/alunos.xml"));
//faz a transformação dos dados para arquivo e para a console!
transformer.transform(source, console);
transformer.transform(source, file);
System.out.println("Fim");
} catch (Exception e) {
e.printStackTrace();
}
}
// Criamos todos os atributos como String
// para facilitar a escrita no XML
private static Node criarAluno(Document doc, String matricula, String nome,
String idade, String cargo, String genero) {
Element aluno = doc.createElement("Aluno");
// Associa a matrícula como atributo
aluno.setAttribute("id", matricula);
// Cria o elemento nome
aluno.appendChild(getEmployeeElements(doc, aluno, "nome", nome));
// Cria o elemento idade
aluno.appendChild(getEmployeeElements(doc, aluno, "idade", idade));
// Cria o elemento cargo
aluno.appendChild(getEmployeeElements(doc, aluno, "cargo", cargo));
// Cria o elemtno genero
aluno.appendChild(getEmployeeElements(doc, aluno, "genero", genero));
return aluno;
}
// Realiza a criação dos elementos texto
private static Node getEmployeeElements(Document doc, Element elemento,
String nome, String valor) {
Element node = doc.createElement(nome);
node.appendChild(doc.createTextNode(valor));
return node;
}
} |
Conclusão
Existem maneiras mais fáceis de realizar manipulação de XML em Java, mas está é uma alternativa que deve ser conhecida e não pode ser descartada. Uma das vantagens dessa abordagen e não precisar utilizar qualquer framework é, por exemplo, a forma como trabalhamos com XML em JavaScript ou JQuery. Saber que essa abordagem existe e determinar quando deverá ser usada poderá ser muito útil em sua vida profissional.
Abraços e vida que segue!
Links relacionados
Exemplo utilizando o xStream
xStream Site oficial
Deixe um comentário
Você precisa fazer o login para publicar um comentário.