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

Windows Phone MarketPlace do Brasil lançado

O windows marketplace brasil parece está funcionando finalmente, contudo com muitas limitações

Tinha uma conta com um usuário americano do xbox. Fiz a transferência para o Brasil depois de atualizar para o Mango.

O MarketPlace abriu com tranquilidade. Contudo, ficaram somente os links para compra de aplicativos e games. O  Zune  que comercializa video e música desapareceu.

Outro problema que deve ser resolvido em breve foi a pouca quantidade de aplicativos disponíveis para brasileiros. Um número extremamente inferior ao do mercado americano.

Abraços.

segunda-feira, 3 de outubro de 2011

Ler XML JAVA 6 com SAX


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