Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Loop kroz elemente - XML DOM i JS

[es] :: XML :: Loop kroz elemente - XML DOM i JS

[ Pregleda: 2517 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

markoval
Aleksandar Markovic
bgd

Član broj: 57160
Poruke: 17
217.26.75.*



Profil

icon Loop kroz elemente - XML DOM i JS04.09.2005. u 20:00 - pre 227 meseci
Imam jedan problemcic, a ne bih da izmisljam toplu vodu (da pisem string parser)...

imam neki xml fajl:
<?xml version='1.0' encoding='ISO-8859-1'?>
<client>
<NOM>TRIEPEL</NOM>
<ADRESSE1>RUE DU 1ER CUIRASSIERS</ADRESSE1>
<ADRESSE2></ADRESSE2>
<CD_VILLE>68000</CD_VILLE>
<VILLE>COLMAR</VILLE>
<TEL_CLIENT>03 89 41 91 46</TEL_CLIENT>
<TELEFAX></TELEFAX>
<REMIMPORTA></REMIMPORTA>
<CODE_CLIEN>41200100</CODE_CLIEN>
<NOMPREN>TRIEPEL RICHARD</NOMPREN>
<NOMMARQUE>Chevalier</NOMMARQUE>
<NOMVIN>TRIEPEL</NOMVIN>
<CUVERESERV></CUVERESERV>
<CUVEE_NOM></CUVEE_NOM>
<MR>Monsieur</MR>
<COMMENTAIR> NPAI TRAITE LE 10.02.00 CORRECT</COMMENTAIR>
<NOMRELANCE>N</NOMRELANCE>
<CUNOM1></CUNOM1>
<PAYS>FRANCE</PAYS>
<FLAMANT></FLAMANT>
<PRENOM>RICHARD</PRENOM>
<CUVEE3LIG>68000COLMARTRIEPELRUEDUERCUIRA</CUVEE3LIG>
<CODAPART>0</CODAPART>
<PRENOMBEBE></PRENOMBEBE>
<DATENAISSA></DATENAISSA>
<REP></REP>
<ADRESSE3></ADRESSE3>
<N_RUE>39 A</N_RUE>
<DUNS></DUNS>
<SCRL>FACT</SCRL>
<CODE></CODE>
<FAXOK></FAXOK>
<DEBLOC>0</DEBLOC>
<IDFAX></IDFAX>
<FAX></FAX>
<TOP1></TOP1>
<NBCOM>1</NBCOM>
<CHIFAF>805.14</CHIFAF>
<ADRESSE1_0>RUE DU 1ER CUIRASSIERS</ADRESSE1_0>
<DATEDERC>9/11/1996</DATEDERC>
</client>


JS mi izgleda ovako:
function XMLDoc(url) {
if (window.ActiveXObject) {
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.load(url);
getmessage()
}
else if (document.implementation && document.implementation.createDocument) {
xmlDoc= document.implementation.createDocument("","",null);
xmlDoc.load(url);
xmlDoc.onload=getmessage
} else {
alert('Your browser cannot handle this script');
}
}

function getmessage() {
document.getElementById("MR.vdmcli").value=xmlDoc.getElementsByTagName("MR")[0].firstChild.nodeValue
document.getElementById("prenom.vdmcli").value=xmlDoc.getElementsByTagName("PRENOM")[0].firstChild.nodeValue
document.getElementById("NOM.vdmcli").value=xmlDoc.getElementsByTagName("NOM")[0].firstChild.nodeValue
document.getElementById("N_RUE.vdmcli").value=xmlDoc.getElementsByTagName("N_RUE")[0].firstChild.nodeValue
document.getElementById("ADRESSE1.vdmcli").value=xmlDoc.getElementsByTagName("ADRESSE1")[0].firstChild.nodeValue
document.getElementById("ADRESSE2.vdmcli").value=xmlDoc.getElementsByTagName("ADRESSE2")[0].firstChild.nodeValue
document.getElementById("ADRESSE3.vdmcli").value=xmlDoc.getElementsByTagName("ADRESSE3")[0].firstChild.nodeValue
document.getElementById("CD_VILLE.vdmcli").value=xmlDoc.getElementsByTagName("CD_VILLE")[0].firstChild.nodeValue
document.getElementById("VILLE.vdmcli").value=xmlDoc.getElementsByTagName("VILLE")[0].firstChild.nodeValue
document.getElementById("PAYS.vdmcli").value=xmlDoc.getElementsByTagName("PAYS")[0].firstChild.nodeValue
}


Sve to radi besprekorno, samo sto moram da smanjim kolicinu rucnog rada jer cu ceo zivot da provedem pisuci document.blabla = xmlDoc.blabla

Kako da napravim petlju koja ce da upise npr
document.getElementById(XML element name).value = vrednost XML elemnta
 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
*.dialup.neobee.net.

Sajt: www.novikorisnik.net


+5 Profil

icon Re: Loop kroz elemente - XML DOM i JS04.09.2005. u 22:10 - pre 227 meseci
Zar je toliko teško?
Code:
function getmessage4el(elID) {
  document.getElementById (elID + ".vdmcli").value = xmlDoc.getElementsByTagName (elID) [0].firstChild.nodeValue;
}
var els = new Array ("MR", "prenom", ...);
for (var i = 0; i < els.length; i++)
{
  getmessage4el (els [i]);
}

 
Odgovor na temu

markoval
Aleksandar Markovic
bgd

Član broj: 57160
Poruke: 17
217.26.75.*



Profil

icon Re: Loop kroz elemente - XML DOM i JS04.09.2005. u 22:55 - pre 227 meseci
Hvala... nije mi palo na pamet da pravim array sa elementima koji me zanimaju.. trazio sam kako da prodjem kroz sve elemente (nesto kao vbs-on for each), ali ovo mi jos vise odgovara...

btw... ne rece ti meni kako to ide sa JS-om i pokretanjem lokalnih aplikacija... znam security, ali to se valjda sve podesi da moze da dopusta - moram nesto da smislim u narednih mesec dana za to...
 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
194.247.222.*

Sajt: www.novikorisnik.net


+5 Profil

icon Re: Loop kroz elemente - XML DOM i JS05.09.2005. u 08:40 - pre 227 meseci
Neću da mešam babe i žabe, kreatori browsera se trude na sve načine da browsere načine sigurnijim spravama, u prvom redu je to potpuno odvajanje od klijentovog fajl sistema. Tako da ni ne znam šta sve treba učiniti za svaki browser pojedinačno da bi se dozvolilo ovakvo nešto (ni ne interesuje me, ako neko baš zapne i traži da se takvo nešto realizuje, možemo da popričamo i vidimo čiji su argumenti jači).

Inače, što se tiče teme... ovo s nizom ako ti trebaju samo neki elementi iz onog dokumenta, inače može i lepše i lakše (možda malo više koda, ali mi deluje glupavo navođenje elemenata niza, a ovde toga nema).

Code:
function getmessage ()
{
  var walker = xmlDoc.getElementsByTagName ('client') [0].firstChild;
  while (walker != null)
  {
     if (walker.nodeType == 1)
    {
      document.getElementById (walker.nodeName + '.vdmcli').value = walker.firstChild.nodeValue;
    }
    walker = walker.nextSibling;
  }
}

 
Odgovor na temu

[es] :: XML :: Loop kroz elemente - XML DOM i JS

[ Pregleda: 2517 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.