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

DOM u XML-u i njegova JavaScript inspekcija

[es] :: XML :: DOM u XML-u i njegova JavaScript inspekcija

[ Pregleda: 3866 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

varelg

Član broj: 24494
Poruke: 187
*.ipt.aol.com.



+2 Profil

icon DOM u XML-u i njegova JavaScript inspekcija07.01.2006. u 22:18 - pre 191 meseci
Zdravo,
Moja skripta bi trebalo od importovanog XML dokumenta prikazati imena XML chvorova.
Pokushavam NodeList kolekciju tretirati kao Array() ali kadgod pozovem NodeList.length, ne dobijam nishta. Gde greshim?
Kako izvuchi sve XML chvorove iz datog XML dokumenta, trenutno je skripta u JavaScript. Sve radi dokle znash imena chvorova ili "kopash" kroz DOM s firstChild, prevousChild itd., ali ne i s petljom...
Estamos listos?
 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

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

Sajt: www.novikorisnik.net


+5 Profil

icon Re: DOM u XML-u i njegova JavaScript inspekcija07.01.2006. u 23:28 - pre 191 meseci
Pozdrav,
Za početak, http://developer.mozilla.org/en/docs/Gecko_DOM_Reference

firstChild da, ali nema previousChild već previosSibling i nextSibling

provera da li je čvor baš element - nodeType == 1

i naravno, ime elementa - nodeName

može i petlja, ali trebala bi rekurzivno, obzirom na strukturu xml dokumenta, pre bih to odradio funkcijom ;-)
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+709 Profil

icon Re: DOM u XML-u i njegova JavaScript inspekcija08.01.2006. u 09:13 - pre 191 meseci
Citat:
noviKorisnik: ali trebala bi rekurzivno

Nema potrebe. DOM parser već ima logiku za pretraživanje nodova.

varelg, koristi selectNodes("*")

Pogledaj npr. primer sa
http://www.howtodothings.com/ViewArticle.aspx?article=92
 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

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

Sajt: www.novikorisnik.net


+5 Profil

icon Re: DOM u XML-u i njegova JavaScript inspekcija08.01.2006. u 09:36 - pre 191 meseci
(... sad ću malo da mrmljam... ok ako to treba da bude nešto kao microsoft only solution - inače selectNodes se ne nalazi u Gecko DOM interfejsima ... zato gledam neki presek slobodan za više browsera (fina deformacija, jeste da cela priča ne mora da se vrti samo u svetu browsera, navuče me ovo o javascriptu ... mada i njega danas ima prilično svugde :-)
 
Odgovor na temu

utvara
Slobodan Utvić
Vivvo CMS lead developer, Spoonlabs
d.o.o. Beograd

Član broj: 677
Poruke: 87
*.sbb.co.yu
Via: [es] mailing liste

Jabber: utvara@elitesecurity.org
ICQ: 28140625
Sajt: utvara.blogspot.com


Profil

icon Re: DOM u XML-u i njegova JavaScript inspekcija08.01.2006. u 20:15 - pre 191 meseci
>
A ako vas ne zanima M$ :)), onda pogledajte e4x, zanimljiva nadogradnja
JS-a.

poz. utvara
 
Odgovor na temu

varelg

Član broj: 24494
Poruke: 187
*.ipt.aol.com.



+2 Profil

icon Re: DOM u XML-u i njegova JavaScript inspekcija09.01.2006. u 03:56 - pre 191 meseci
Kad se vech spomenu DOM interfejs (selectNodes), do nekog stepena se i mozhe iterirati kroz DOM strukturu recimo s childNodes (documentElement.childNodes vracha decu- chvorove od root-a)... ali to je sve shto se tiche dubine inspekcije, do prvog kolena, dublje bi se (recimo) stiglo s if testom sa hasChildNodes() (vracha true ako testirani chvor ima decu)...
Isto se spomenu Microsoft- only solution; sam motiv za ispitivanje DOM-a je nalazak reshenja koje bi radilo na bilo kojoj platformi, ne samo na Microsoftovoj...
Estamos listos?
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+709 Profil

icon Re: DOM u XML-u i njegova JavaScript inspekcija09.01.2006. u 08:05 - pre 191 meseci
Izvini, nisam znao da selectNodes ne radi u Gecku.

Pretpostavljam da su ljudi smislili neki workaround za taj problem, *ebeš DOM bez selectNodes..

Evo deo FckEditora, izgleda da se upravo time bavi:
Code:

  FCKXml.prototype.SelectNodes = function( xpath )
  {
     if ( document.all )        // IE
         return this.DOMDocument.selectNodes( xpath ) ;
     else                    // Gecko
     {
         var aNodeArray = new Array();
  
         var xPathResult = this.DOMDocument.evaluate( xpath, this.DOMDocument, 
                 this.DOMDocument.createNSResolver(this.DOMDocument.documentElement), XPathResult.ORDERED_NODE_ITERATOR_TYPE, null) ;
         if ( xPathResult ) 
         {
             var oNode = xPathResult.iterateNext() ;
              while( oNode )
              {
                  aNodeArray[aNodeArray.length] = oNode ;
                  oNode = xPathResult.iterateNext();
              }
         } 
         return aNodeArray ;
     }
  }
 
Odgovor na temu

[es] :: XML :: DOM u XML-u i njegova JavaScript inspekcija

[ Pregleda: 3866 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

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