webForumDet fria alternativet

XML getElementsByTagName

9 svar · 374 visningar · startad av Duffer

DufferMedlem sedan mars 2003429 inlägg
#1

Hej och godafton,
Jag har ett problem, som bara inte vill lösa sig hur jag än gör. Jag har ett objekt som kan ha flera egenskaper men jag kan bara hämta värdet på själva objektet inte dess egenskaper exempel på hur jag gjort mina xml-filer

<response>
<name>Göran</name>
<name>Björn</name>
<name>Monika</name>
<stad>Linköping</stad>
<stad>Malmö</stad>
<stad>Borås</stad>
<mat>Pizza</mat>
<mat>Hamburgare</mat>
<mat>Sallad</mat>
</response>

Här kan man hämta name från alla tre personer med hjälp av koden:

XMLObjektet.getElementsByTagName('name')*.firstChild.data;

Men varken stad eller mat går att nå på samma sätt (även om man byter name mot 'stad' eller 'mat').
Har även försökt med
<response>
<name>Göran
<stad>Linköping</stad>
<mat>Pizza</mat>
</name>

<name>Björn
<stad>Malmö</stad>
<mat>Hamburgare</mat>
</name>
</response>

Eller

<response>
<person>
<name>Björn</name>
<stad>Malmö</stad>
<mat>Hamburgare</mat>
</person>
</response>

Tänker inte skylla på programmet eller språket är förhoppningsvis bara jag som inte vet hur man hanterar sånthärnt. Spelar det någon roll att jag arbetar i firefox? Har letat lite på w3schools och google men hittar varken något om firefox eller sätt att hämta värden från taggar med samma namn...

Mvh :bire*

Peter SMedlem sedan dec. 20025 483 inlägg
#2

Hur ser koden ut som du testat?

DufferMedlem sedan mars 2003429 inlägg
#3

response = req.responseXML.documentElement;
number = response.getElementsByTagName('antalPersoner')*.firstChild.data;

for(i = 0; i < number; i++) {
name = response.getElementsByTagName('name').firstChild.data;
mat = response.getElementsByTagName('mat')
.firstChild.data;
}

Den koden försökte jag med på mitt första exempel, men det var bara name som kunde hämtas.***

Peter SMedlem sedan dec. 20025 483 inlägg
#4

Det verkar ju otroligt märkligt att du inte kan hämta andra element. Vad ger de andra för resultat? Innehåller number ett tal?

DufferMedlem sedan mars 2003429 inlägg
#5

Alltså det är helt sjukt, om vi bortser från mitt tidigare exempel så har jag 6 värden jag vill hämta, varav 4st är multipla/upprepande eller vad det kallas alltså att det finns flera med samma namn, sen 2st som innehåller värden som rör hela resultatet (skrivs och läses bara en gång).

number innehåller en siffra från xml-dokumentet som berättar hur många resultat som kommer tillbaka, det funkar fint. ett annat värde som inte upprepas berättar vilken metod som har körts. Sen kommer vi till name som upprepas (number)gånger det funkar fin fint, men sen resten som jag vill ha upprepade (number)gånger går inte att nå oavsett ifall jag har upprepat dem eller inte och ändrar mitt javascript till att bara läsa dessa en gång. Om man går in på phpsidan som generar xml-dokumentet så finns allt där men det går inte att hämta genom javascript då säger explorer bara att ett objekt krävs och min debugger i firefox kraschar.

Har snart slagit sönder alla mina datorer för detta problem så snäll hjälp mig få ordning på skiten ;-)

Mvh

Peter SMedlem sedan dec. 20025 483 inlägg
#6

Vad är adressen till XML-dokumentet?

DufferMedlem sedan mars 2003429 inlägg
#7

Jag börjar med att posta ett par :r :r
Sen fortsätter jag med att tacka Peter din hjälp och välvilja till att lösa detta åt mig,

Nu tänkte jag berätta om den dagen jag gjorde någor riktigt pinsamt, sen avslutar jag det hela med att säga att jag kan det här nu, jag har provat allt för att komma runt mitt fel :r så hjälper gärna andra med ajax-problem

Mitt fel i detta var att jag hade 2 mappar med exakta filer i båda mapparna endast mapparna som hade olika namn... ni kanske förstår vart felet låg nu? mm precis, läste xml från ena mappen och redigera i den andra. ååååh pinsamt :r

Det går alltså att ha flera taggar med samma namn och det går att loopa igenom dessa med hjälp av t.ex. loopen jag postat ovan.

Lovar ska försöka lita lite mer på min egen kod och leta fel på andra ställen än just där jag jobbar och ändrar! =)

Trevlig helg allihopa!

Mvh

Peter SMedlem sedan dec. 20025 483 inlägg
#8

:birp

Acceptera gärna ditt senaste inlägg som slutgiltigt eftersom det innehåller lösningen på problemet.

Trevlig helg!

DufferMedlem sedan mars 2003429 inlägg
#9

:birp

Haha det där är också ett mysterium, nu kan jag inte skåla tillbaka heller :P

Jaja cheers mate!

Peter SMedlem sedan dec. 20025 483 inlägg
#10

[red] :birp

(Alternativt om man är litet mer åt höger ;) .)

130 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)