Ajudaaaaa

6 respostas
C

boa tarde pessoal

alguem saberia me dizer como eu posso ler um aquivo xml e pegar os dados contidos nele e passar para uma classe por exemplo

e ao contrario
uma classe enviar dados a um arquivo xml
tem como??

desde ja obrigado

6 Respostas

I

Boa Tarde,

para ler você pode usar Data Islands ou ChildNodes.

Exemplo(Child):

var nomeA=arquivo+".xml";

  var p= new Array(12);




  dados.load(nomeA);
  
  Pai = dados.documentElement;

 for (i = 1; i < 13; i++){
p[i-1] = Pai.childNodes[0].childNodes[i].childNodes[0].nodeValue;
  
  }


document.f.p0.value=p[0];
Exemplo (Data Island):
<xml id="dados" src="8.xml"></xml>

<table datasrc="#dados" border="1" cellpadding="2" cellspacing="0" bordercolor="black">
  <thead>
            <tr>
      <th>Componentes<br> 
        Curriculares</th>
      <th colspan="2">1&ordm; Trimestre<br>
        Nota  Faltas</th>
 </tr>
  </thead>
  <tbody>
    <tr>
      <td align="center"><span datafld="nome"></span></td>
      <td><span datafld="nota1"></span></td>
      <td><span datafld="falta1"></span></td>
</tr>
  </tbody>
</table>

Para escrever eu acho máis fácil com o FileOutputStreem

Exemplo:
<%@page import="java.io.*"%>
<%@page import="java.util.*"%>

<%!  private String antigo;  %>        
   <%  
String aluno=request.getParameter("Combo2");


String jp0= request.getParameter("p0");
   String jp1= request.getParameter("p1");
   String jp2= request.getParameter("p2");
   String jp3= request.getParameter("p3");
   String jp4= request.getParameter("p4");
   String jp5= request.getParameter("p5");
   String jp6= request.getParameter("p6");
   String jp7= request.getParameter("p7"); 
   String jp8= request.getParameter("p8");
   String jp9= request.getParameter("p9");
   String jp10= request.getParameter("p10");
   String jp11= request.getParameter("p11");
%>

<%  try {
          BufferedWriter bw = new BufferedWriter( new FileWriter("C:/Arquivos de programas/Apache Group/Tomcat 4.1/webapps/ROOT/boletim/prim/"+aluno+".xml"));
               bw.write("<?xml version='1.0' encoding='ISO-8859-1'?>");
              bw.write("<boletim>");
              bw.write("<materia>");
              bw.write("<nome>Língua Portuguesa</nome>");
              bw.write("<nota1>"+jp0+"</nota1>");
	      bw.newLine();
              bw.write("<falta1>"+jp1+"</falta1>");
              bw.newLine();  
              bw.write("<recEsp>"+jp2+"</recEsp>");
              bw.newLine();
              bw.write("<nota2>"+jp3+"</nota2>");
	      bw.newLine();
              bw.write("<falta2>"+jp4+"</falta2>");
              bw.newLine();
              bw.write("<nota3>"+jp5+"</nota3>");
	      bw.newLine();
              bw.write("<falta3>"+jp6+"</falta3>");
              bw.newLine();
              bw.write("<mediaA1>"+jp7+"</mediaA1>");
	      bw.newLine();
              bw.write("<provaFinal1>"+jp8+"</provaFinal1>");
              bw.newLine();
              bw.write("<mediaA2>"+jp9+"</mediaA2>");
	      bw.newLine();
              bw.write("<provaFinal2>"+jp10+"</provaFinal2>");
              bw.newLine();
              bw.write("<mediaA3>"+jp11+"</mediaA3>");
               
              bw.write("</materia>");

               bw.write("</boletim>");

 bw.close();

  }catch (IOException ioe){

}             
%>
Abraços,

Thiago Alvares

SCJP 1.4

C

eae blza?
fiquei meio confuso no primeiro exemplo
o que lê o xml
vc poderia me explicar com mais detalhes como funciona
e qual pacote vc importa ???

desde ja agradeço pela atenção :grin:

I

Boa Tarde,

desculpe pela confusão (tô meio atolado no trabalho), o primeiro é uma função em javaScript que pega lê um XML nó a nó.

estou enviando um exemplo comentado:
[code]<HTML>

<HEAD>
<TITLE></TITLE>

//Tinha esquecido disso
var dados = new ActiveXObject("Msxml.DOMDocument");
dados.async = "false";

//e disso
function teste(){

var nomeA=teste.xml";

var p= new Array(12);

dados.load(nomeA);

Pai = dados.documentElement;
//no meu caso lê todas as 12 notas dentro de português
//<portugues>LÊ TUDO QUE TÁ QUI DENTRO INCLUSIVE OUTRAS TAGS</portugues>
for (i = 1; i < 13; i++){
p[i-1] = Pai.childNodes[0].childNodes[i].childNodes[0].nodeValue;

}

//Aqui ele preencue os meus textField com as notas
//os textFields têm name=" p0", "p1" etc
document.f.p0.value=p[0];
document.f.p1.value=p[1];
document.f.p2.value=p[2];
document.f.p3.value=p[3];
document.f.p4.value=p[4];
document.f.p5.value=p[5];
document.f.p6.value=p[6];
document.f.p7.value=p[7];
document.f.p8.value=p[8];
document.f.p9.value=p[9];
document.f.p10.value=p[10];
document.f.p11.value=p[11];

}
[code]

P.S- não esqueça de colocar javascript depois do title (não tava postando)

Abraços,

Thiago Alvares Coli Silva

SCJP 1.4

R

Olá c3po,

Existem diversas API´s que manipulam arquivos XML…

Vc pode conferir uns tutoriais muito legais em:
http://www.guj.com.br/user.article.list.chain#87031

Veja com qual sintaxe vc se sente melhor, e manda ver.

Abraços!

I

desculpe, mas saberia me informar aonde consigo algum material sobre xml bem simples , com exemplos de utilização, faz algum tempo que procuro algum material mas o que encontro é um tanto confuso pra mim , agradeço qualquer ajuda.

C

bom dia pessoal
agradeço a ajuda de todos
ikarus
da uma olhada nesses links, espero que ajudem :grin:

http://www.guj.com.br/java.tutorial.artigo.19.1.guj
http://www.guj.com.br/java.tutorial.artigo.22.1.guj
http://www.guj.com.br/java.tutorial.artigo.144.1.guj

Criado 15 de junho de 2005
Ultima resposta 16 de jun. de 2005
Respostas 6
Participantes 4