XML

Gravar XML

 

import java.io.*;

import javax.xml.parsers.*;

import javax.xml.transform.*;

import javax.xml.transform.dom.*;

import javax.xml.transform.stream.*;

import org.w3c.dom.*;

 

public class Cria {

  

  public static void main(String[] args) throws Exception {

    

    DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();

    DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();

    Document document = documentBuilder.newDocument();

  

    Element rootElement = document.createElement("tabela");

    document.appendChild(rootElement);

 

    Element em;

 

    for (int i = 0; i < 5; i++) {

 

      // campo 1

      em = document.createElement("nome");

      em.appendChild(document.createTextNode("Junior"));

      rootElement.appendChild(em);

 

      // campo 2

      em = document.createElement("obs");

      em.appendChild(document.createTextNode("Macho"));

      rootElement.appendChild(em);

 

    }

 

    TransformerFactory transformerFactory = TransformerFactory.newInstance();

    Transformer transformer = transformerFactory.newTransformer();

    DOMSource source = new DOMSource(document);

 

    FileOutputStream fout = new FileOutputStream("d:\\Arq.txt");

    PrintStream printst = new PrintStream(fout);

    System.setOut(printst);

 

    StreamResult result = new StreamResult(System.out);

    transformer.transform(source, result);

 

  }

}

 

Leitura

 

XML

 

<?xml version="1.0" standalone="yes"?>

<DocumentElement>

  <tabela>

    <nome>Daniel</nome>

    <obs>Gambi</obs>

  </tabela>

  <tabela>

    <nome>Xunior</nome>

    <obs>Matcho</obs>

  </tabela>

  <tabela>

    <nome>Oliveira</nome>

    <obs>Cara de bobo</obs>

  </tabela>

</DocumentElement>

 

Ler

 

import java.io.File;

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;

 

public class Ler {

  

    public static void main(String[] args) {

 

    try {

      File file = new File("c:\\tabela.xml");

 

      DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();

      DocumentBuilder db = dbf.newDocumentBuilder();

      Document doc = db.parse(file);

      doc.getDocumentElement().normalize();

 

      NodeList nodeLst = doc.getElementsByTagName("tabela");

 

      for (int s = 0; s < nodeLst.getLength(); s++) {

 

        Node fstNode = nodeLst.item(s);

 

        if (fstNode.getNodeType() == Node.ELEMENT_NODE) {

           Element fstElmnt = (Element) fstNode;

 

           NodeList fstNmElmntLst = fstElmnt.getElementsByTagName("nome");

           Element fstNmElmnt = (Element) fstNmElmntLst.item(0);

           NodeList fstNm = fstNmElmnt.getChildNodes();

           System.out.println("Nome: "  + ((Node) fstNm.item(0)).getNodeValue());

 

           NodeList lstNmElmntLst = fstElmnt.getElementsByTagName("obs");

           Element lstNmElmnt = (Element) lstNmElmntLst.item(0);

           NodeList lstNm = lstNmElmnt.getChildNodes();

          System.out.println("Obs: " + ((Node) lstNm.item(0)).getNodeValue());

        }

 

      }

    } catch (Exception e) {

    e.printStackTrace();

    }

  }

}