webForumDet fria alternativet

Object required

9 svar · 500 visningar · startad av Pedda

PeddaMedlem sedan juni 20006 032 inlägg
#1

Håller på med ett javascript som hämtar information från en xml-fil och får ett error som säger "Object required". Men allt funkar annars som det ska.

xmlDoc=loadXMLDoc("C:/test/xmlfil.xml");
		var xmlTitle = xmlDoc.getElementsByTagName('title');
		var xmlUtgBet = xmlDoc.getElementsByTagName('bp_utgbet');
		var xmlMaterSystem = xmlDoc.getElementsByTagName('r_folder_path');
		var xmlFben = xmlDoc.getElementsByTagName('bp_fben');
		var xmlFbet = xmlDoc.getElementsByTagName('bp_fbet');
		var xmlTillhorighetFben = xmlDoc.getElementsByTagName('bp_thfben');
		var xmlTillhorighetFbet = xmlDoc.getElementsByTagName('bp_thfbet');
		var xmlFil = xmlDoc.getElementsByTagName('i_full_format');
		var xmlSize = xmlDoc.getElementsByTagName('r_content_size');
		
		var count = 1;
		
		for (i = 0; i < xmlTitle.length; i++)
		{	
		    var sTitel = xmlTitle[i].text;
		    var sUtgBet = xmlUtgBet[i].text;
    		    var sMaterSystem = xmlMaterSystem[i].text;
    		    var sFben = xmlFben[i].text;
    		    var sFbet = xmlFbet[i].text;
    		    var sTillhorighetFben = xmlTillhorighetFben[i].text;
                    .... osv

raden som jag får fel på är
var sUtgBet = xmlUtgBet*.text;

Vad kan jag ha gjort för fel?*

The_HulkMedlem sedan juni 20031 837 inlägg
#2

Är du säker på att taggen "bp_utgbet" finns med i din XML-fil?
det är farligt att räkna med att saker finns i det man tar emot. man bör kontrollera att de inte är null innan man använder dem.

PeddaMedlem sedan juni 20006 032 inlägg
#3

Ja, den finns med.

The_HulkMedlem sedan juni 20031 837 inlägg
#4

är du säker på att det finns lika många "bp_utgbet" som det finns "title"?
det är också farligt att förutse att det ska vara lika många av dem, där bör man också ha en kontroll så det verkligen stämmer.

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

Metoden returnerar en samling objekt - även om antalet bara är ett. Därför

var xmlUtgBet = xmlDoc.getElementsByTagName('bp_utgbet').[red]item(0)[/red];

...och detsamma på liknande rader.

The_HulkMedlem sedan juni 20031 837 inlägg
#6

Peter S, han loopar över samlingen längre ner

for (i = 0; i < xmlTitle.length; i++)
Peter SMedlem sedan dec. 20025 483 inlägg
#7

Sant... :r

PeddaMedlem sedan juni 20006 032 inlägg
#8

The_Hulk skrev:

är du säker på att det finns lika många "bp_utgbet" som det finns "title"?
det är också farligt att förutse att det ska vara lika många av dem, där bör man också ha en kontroll så det verkligen stämmer.

Xml filen skrivs från ett dataset så den innehåller alltid lika många av alla element.

The_HulkMedlem sedan juni 20031 837 inlägg
#9

går du något varv i din for-loop eller blir det fel på första?
skriv ut lite debug-utskrifter mellan varven så du ser var den krashar.

PeddaMedlem sedan juni 20006 032 inlägg
#10

Löste sig när jag gav alla variabler ett nollvärde innan jag läste in xml-filen.

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