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

Suma cvorova u XML-u

[es] :: XML :: Suma cvorova u XML-u

[ Pregleda: 3200 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

CallMeSaMaster

Član broj: 43611
Poruke: 466
*.hsl.eu.



+1 Profil

icon Suma cvorova u XML-u28.12.2010. u 09:57 - pre 162 meseci
Pozdrav,

trebao bih izvuci ukupnu sumu pojedinih cvorova koji se nlaze u xmlu. Problem je sto se neki cvorovi nekada uopce ne pojavljuju a nekada se pojavljuju ali nemaju nikakvu vrijednost. Evo primjer:

Code:

<xml>
   <osoba1>
      <Plata>100</Plata>
      <Porez>17</Porez>
      <Ostalo>3</Ostalo>
   </osoba1>
   <osoba2>
      <Plata>200</Plata>
      <Ostalo>6</Ostalo>
   </osoba2>
   <osoba3>
      <Ostalo>15</Ostalo>
   </osoba3>
   <osoba4>
      <Plata>120</Plata>
      <Porez>4</Porez>
   </osoba4>
   <osoba5>
   </osoba5>
   <osoba6>
      <Plata></Plata>
      <Porez></Porez>
      <Ostalo></Ostalo>
    </osoba6>
</xml>


Kao sto se vidi, XML fajl koji meni dodje kao takav, i na koji nemam nikakav utjecaj, moze sadrzavati razne kombinacije.

Meni je potrebno da sada izvucem Sumu(Plata), Sumu(Porez), Sumu(Ostalo) za sve osobe.

Ja sam pokusavao funkcijom Sum(cvor) ali ona radi ako su sve vrijednosti nekog cvora popunjene. Inace dobiejm gresku

Molio bih nekoga ako ima neko rijesenje ili primjer kako da ovo odradim, da mi pomogne.

Pozdrav
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12850



+4784 Profil

icon Re: Suma cvorova u XML-u28.12.2010. u 10:13 - pre 162 meseci
U kom programskom jeziku radis?
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Suma cvorova u XML-u28.12.2010. u 10:31 - pre 162 meseci
verovatno hoce kroz XPath a prazan node se vraca kao NaN

mozda da ubacis filter u nodeset suma?

npr

sum(//xml/osoba/plata[not(text())])

ili mozda bolje

sum(//xml/osoba/plata[number(.)!=NaN])


btw zasto osoba1, osoba2,...? zasto ne <osoba id="1"> <osoba id="2"> ili slicno?




Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

CallMeSaMaster

Član broj: 43611
Poruke: 466
*.hsl.eu.



+1 Profil

icon Re: Suma cvorova u XML-u28.12.2010. u 10:32 - pre 162 meseci
Sorry do mene. :) U svom tom zanosu sam zaboravio napisati da mi to treba u xslt-u...
 
Odgovor na temu

CallMeSaMaster

Član broj: 43611
Poruke: 466
*.hsl.eu.



+1 Profil

icon Re: Suma cvorova u XML-u28.12.2010. u 10:33 - pre 162 meseci
Hvala za odgovor mmix, u sustini si u pravu ovo za naziv nodova. Ja sma to samo onako "hipoteticki" nabco...nemojte zamjeriti ;)
 
Odgovor na temu

CallMeSaMaster

Član broj: 43611
Poruke: 466
*.hsl.eu.



+1 Profil

icon Re: Suma cvorova u XML-u28.12.2010. u 10:44 - pre 162 meseci
Citat:

verovatno hoce kroz XPath a prazan node se vraca kao NaN

mozda da ubacis filter u nodeset suma?

npr

sum(//xml/osoba/plata[not(text())])

ili mozda bolje

sum(//xml/osoba/plata[number(.)!=NaN])


btw zasto osoba1, osoba2,...? zasto ne <osoba id="1"> <osoba id="2"> ili slicno?


Sada probao, ali mi iz nekog rzaloga pokazuje "0" iako imam unijete neke vrijetnosti.Dobro je sto ne pise NaN, ali nije ispravna vrijednost.

I jos jedno pitanjce: Mogu li dobiti sumu svega istim ovim nacinom? Znaci suma(plata)+suma(poreza)+suma(ostalo)?
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Suma cvorova u XML-u28.12.2010. u 11:15 - pre 162 meseci
jesi siguran da ti je xpath uopste dobar (kad vec rece da si nabacao nodove)

da li se razvija u nodeset tvojih zeljenih nodova. Jel imas neku XML/XPATH/XSLT alatku za testiranje? AKo nemas skini neki, recimo sketchpath
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

CallMeSaMaster

Član broj: 43611
Poruke: 466
*.hsl.eu.



+1 Profil

icon Re: Suma cvorova u XML-u28.12.2010. u 12:17 - pre 162 meseci
Code:

    <PRAV>
        <ID>21219760</ID>
        <FIRMA>Frima</FIRMA>
        <ULICA>Testna 2</ULICA>
        <MJESTO/>
        <DRZAVA>Land</DRZAVA>
        <REG>3</REG>
        <UGO>2000</UGO>
        <VKA/>
        <VKAP/>
        <UPLK>2000</UPLKA>
        <UPLA/>
        <UPLT/>
    </PRAV>


Znaci evo postavio sam neizmjenjen XML sa podacima. Treba mi suma od svih UGO, VKA, VKAP, UPLK, UPLA, UPLT i suma svega zajedno.

Koristeci
Code:

sum(//PRAV/UGO[number(.)!=NaN]) + sum(//PRAV/VKA[number(.)!=NaN]) + sum(//PRAV/VKAP[number(.)!=NaN]) + sum(//PRAV/UPLK[number(.)!=NaN]) + sum(//PRAV/UPLA[number(.)!=NaN]) + sum(//PRAV/UPLT[number(.)!=NaN]) 

dobijem uvijek vrijednost "0" kao suma svega zajedno, iako bi trebala biti 4000.

Koristim inace ALTOVA XMLSpy....

[Ovu poruku je menjao CallMeSaMaster dana 28.12.2010. u 13:40 GMT+1]
 
Odgovor na temu

CallMeSaMaster

Član broj: 43611
Poruke: 466
*.hsl.eu.



+1 Profil

icon Re: Suma cvorova u XML-u28.12.2010. u 13:47 - pre 162 meseci
Da li netko ima neku ideju, jer stavrno cu poludjet od ovoga...Nista ne kontam
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Suma cvorova u XML-u28.12.2010. u 14:54 - pre 162 meseci
UPLK tag ti je neispravan (typo?)

ajd pogledacu sta je problem sa ovim

Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Suma cvorova u XML-u28.12.2010. u 15:08 - pre 162 meseci
tja NaN!=NaN (ima logike)

Code:
sum(//PRAV/UGO[number()>0]) + 
sum(//PRAV/VKA[number()>0]) +
sum(//PRAV/VKAP[number()>0]) + 
sum(//PRAV/UPLK[number()>0]) + 
sum(//PRAV/UPLA[number()>0]) + 
sum(//PRAV/UPLT[number()>0]) 

Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

CallMeSaMaster

Član broj: 43611
Poruke: 466
*.hsl.eu.



+1 Profil

icon Re: Suma cvorova u XML-u28.12.2010. u 15:52 - pre 162 meseci
Zahvaljujem, to je bilo sto sam trazio
 
Odgovor na temu

[es] :: XML :: Suma cvorova u XML-u

[ Pregleda: 3200 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

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