terça-feira, 4 de outubro de 2011

Ler xml dom java 6 exemplo


import
java.util.Vector;
import
javax.xml.parsers.*;
import
org.w3c.dom.*;
 
public
class LerXMLDOM {
// caminho (path) do arquivo XML
private String xmlPathname;
// construtor que seta o caminho do XML
public LerXMLDOM( ) throws Exception {
xmlPathname = "CadastroCRAS.xml";
Vector x = LerCRAS();
System.
out.println("dddd" + x.size());
for( int i=0; i < x.size(); i++ ) {
CRAS cras = (CRAS)x.get( i );
System.
out.println( "CRAS id: " + cras.id );
System.
out.println( " nomeCRAS: " + cras.nomeCRAS );
System.
out.println( " enderecoCRAS: " + cras.enderecoCRAS );
System.
out.println( " codIBGE_municipio: " + cras.codIBGE_municipio );
System.
out.println( " coordenadorCRAS: " + cras.coordenadorCRAS );
System.
out.println( " CPFcoordenadorCRAS: " + cras.CPFcoordenadorCRAS );
}
}
private String getChildTagValue( Element elem, String tagName ) throws Exception {
NodeList children = elem.getElementsByTagName( tagName );
if( children == null ) return null;
Element child = (Element) children.item(0);
if( child == null ) return null;
return child.getFirstChild().getNodeValue();
}
public Vector LerCRAS() throws Exception {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(
xmlPathname );
Element elem = doc.getDocumentElement();
// pega todos os elementos usuario do XML
NodeList nl = elem.getElementsByTagName(
"cras" );
// prepara o vetor
Vector crases =
new Vector();
// percorre cada elemento usuario encontrado
for( int i=0; i<nl.getLength(); i++ ) {
Element tagUsuario = (Element) nl.item( i );
// pega os dados cadastrado para o usuario atual
int id = Integer.parseInt( tagUsuario.getAttribute( "id" ) );
String nomeCRAS = getChildTagValue( tagUsuario,
"nomeCRAS" );
String enderecoCRAS = getChildTagValue( tagUsuario,
"enderecoCRAS" );
Integer codIBGE_municipio =
new Integer( getChildTagValue( tagUsuario, "codIBGE_municipio" ) );
String coordenadorCRAS = getChildTagValue( tagUsuario,
"coordenadorCRAS" );
String CPFcoordenadorCRAS = getChildTagValue( tagUsuario,
"CPFcoordenadorCRAS" );
// cria uma nova instancia do UsuarioGuj com os dados do xml
CRAS novo_cras =
new CRAS( id, nomeCRAS, enderecoCRAS,codIBGE_municipio, coordenadorCRAS, CPFcoordenadorCRAS );
// adiciona o usuario na coleção (vector) de usuários do guj
crases.addElement( novo_cras );
}
return crases;
}
/**
*
@param args
*
@throws Exception
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
new LerXMLDOM();
}
}
class
CRAS {
public int id;
public String nomeCRAS;
public String enderecoCRAS;
public int codIBGE_municipio;
public String coordenadorCRAS;
public String CPFcoordenadorCRAS;
// construtor da classe
public CRAS( int id, String nomeCRAS, String enderecoCRAS, int codIBGE_municipio, String coordenadorCRAS, String CPFcoordenadorCRAS) {
this.id = id;
this.nomeCRAS = nomeCRAS;
this.enderecoCRAS = enderecoCRAS;
this.codIBGE_municipio = codIBGE_municipio;
this.coordenadorCRAS = coordenadorCRAS;
this.CPFcoordenadorCRAS = CPFcoordenadorCRAS;
}


}


------------------------------------------------

<?
xml version="1.0" encoding="UTF-8"?>

<
lista_cras>


<cras id="1">


<nomeCRAS>CRAS de Samambaia</nomeCRAS>

<enderecoCRAS>Samambaia Norte</enderecoCRAS>

<codIBGE_municipio>530001</codIBGE_municipio>

<coordenadorCRAS>Meu Coordenador preferico</coordenadorCRAS>

<CPFcoordenadorCRAS>111.111.111-11</CPFcoordenadorCRAS>


</cras>

<cras id="2">


<nomeCRAS>CRAS de São Sebastião</nomeCRAS>

<enderecoCRAS>São Sebastião Norte</enderecoCRAS>

<codIBGE_municipio>530001</codIBGE_municipio>

<coordenadorCRAS>Meu Coordenador de Sebastião</coordenadorCRAS>

<CPFcoordenadorCRAS>222.222.222-22</CPFcoordenadorCRAS>


</cras>


</
lista_cras>
 



---------------------------------------

dddd2

CRAS id: 1

nomeCRAS: CRAS de Samambaia

enderecoCRAS: Samambaia Norte

codIBGE_municipio: 530001

coordenadorCRAS: Meu Coordenador preferico

CPFcoordenadorCRAS: 111.111.111-11

CRAS id: 2

nomeCRAS: CRAS de São Sebastião

enderecoCRAS: São Sebastião Norte

codIBGE_municipio: 530001

coordenadorCRAS: Meu Coordenador de Sebastião

CPFcoordenadorCRAS: 222.222.222-22

Nenhum comentário: