Este código foi implementado utilizando: http://www.guj.com.br/articles/15
import java.io.IOException;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.Attributes;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
public class LerXMLDOM {
/**
* @param args
* @throws SAXException
* @throws ParserConfigurationException
* @throws IOException
*/
public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException {
// TODO Auto-generated method stub
SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
InputSource input = new InputSource("RelatorioCrasMensal.xml");
parser.parse(input, new XMLHandler());
}
}
class XMLHandler extends DefaultHandler {
/** o galho atual */
private StringBuffer galhoAtual = new StringBuffer(200);
/** o valor da tag atual */
private StringBuffer valorAtual = new StringBuffer(100);
/** comeca um documento novo */
/** termina o documento */
public void endElement(String uri, String localName, String tag)
{
// mostra o valor
System.out.print(valorAtual.toString().trim());
// e limpa
valorAtual.delete(0, valorAtual.length());
// seta o galho atual
galhoAtual.delete(
galhoAtual.length() - tag.length() - 1,
galhoAtual.length());
}
public void startElement(
String uri,
String localName,
String tag,
Attributes atributos)
{
// seta o galho atual
galhoAtual.append("/" + tag);
// mostra a tag
System.out.print(
"\n<"
+ galhoAtual.substring(1)
+ (atributos.getLength() != 0 ? " +ATRIBUTOS" : "")
+ ">");
// limpa a tag atual
valorAtual.delete(0, valorAtual.length());
}
/** recebe os dados de uma tag */
public void characters(char[] ch, int start, int length) {
// adiciona ao valor atual
valorAtual.append(ch, start, length);
}
}
----------------------------------------------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<relatorio_mensal_cras_v1>
<hora_geracao>11</hora_geracao>
<minuto_geracao>15</minuto_geracao>
<segundo_geracao>55</segundo_geracao>
<dia_geracao>03</dia_geracao>
<mes_geracao>10</mes_geracao>
<ano_geracao>2011</ano_geracao>
<mes_referencia>04</mes_referencia>
<ano_referencia>2011</ano_referencia>
<numero_unidade>1234</numero_unidade>
<a1>100</a1>
<a2>200</a2>
<b1>300</b1>
<b2>400</b2>
<b3>500</b3>
<b4>600</b4>
<b5>700</b5>
<b6>800</b6>
<c1>900</c1>
<c2>1000</c2>
<c3>1100</c3>
<c4>1200</c4>
<c5>1300</c5>
<d1>1400</d1>
<d2>1500</d2>
<d3>1600</d3>
<d4>1700</d4>
<d5>1800</d5>
<d6>1900</d6>
<d7>2000</d7>
</relatorio_mensal_cras_v1>
-----------------------------------------------------------------------------------------------------------------------------------------------
Resultado
<relatorio_mensal_cras_v1>
<relatorio_mensal_cras_v1/hora_geracao>11
<relatorio_mensal_cras_v1/minuto_geracao>15
<relatorio_mensal_cras_v1/segundo_geracao>55
<relatorio_mensal_cras_v1/dia_geracao>03
<relatorio_mensal_cras_v1/mes_geracao>10
<relatorio_mensal_cras_v1/ano_geracao>2011
<relatorio_mensal_cras_v1/mes_referencia>04
<relatorio_mensal_cras_v1/ano_referencia>2011
<relatorio_mensal_cras_v1/numero_unidade>1234
<relatorio_mensal_cras_v1/a1>100
<relatorio_mensal_cras_v1/a2>200
<relatorio_mensal_cras_v1/b1>300
<relatorio_mensal_cras_v1/b2>400
<relatorio_mensal_cras_v1/b3>500
<relatorio_mensal_cras_v1/b4>600
<relatorio_mensal_cras_v1/b5>700
<relatorio_mensal_cras_v1/b6>800
<relatorio_mensal_cras_v1/c1>900
<relatorio_mensal_cras_v1/c2>1000
<relatorio_mensal_cras_v1/c3>1100
<relatorio_mensal_cras_v1/c4>1200
<relatorio_mensal_cras_v1/c5>1300
<relatorio_mensal_cras_v1/d1>1400
<relatorio_mensal_cras_v1/d2>1500
<relatorio_mensal_cras_v1/d3>1600
<relatorio_mensal_cras_v1/d4>1700
<relatorio_mensal_cras_v1/d5>1800
<relatorio_mensal_cras_v1/d6>1900
<relatorio_mensal_cras_v1/d7>2000
Nenhum comentário:
Postar um comentário