Vraag & Antwoord

Webdesign (HTML, CSS, Flash)

[JavaScript] Probleem met het laden van XML

4 antwoorden
  • Ik heb een scriptje gedownload dat data uit een XML-bestand haalt om vervolgens die info te parsen en te laten zien op het scherm. Het probleem is echter dat het laden uit een bestand alleen lukt als de extensie van dat bestand .xml is, maar ik zou zo graag de inhoud van dat bestand dynamisch genereren. Ik heb zelfs het bestand simpelweg hernoemd naar een .php maar helaas: geen resultaat. Uiteraard heb ik de betreffende variabelen aangepast. De code staat hieronder; wie helpt mij het probleem te vinden?[code:1:9baf95124a]<script language="JavaScript1.2"> /* DOM XML ticker- © Dynamic Drive (www.dynamicdrive.com) For full source code, 100's more DHTML scripts, and Terms Of Use, visit http://www.dynamicdrive.com Credit MUST stay intact */ //Container for ticker. Modify its STYLE attribute to customize style: var tickercontainer='<div id="container" style="background-color:#FFFFE1;width:150;height:120;font:normal 13px Verdana;"></div>' //Specify path to xml file var xmlsource="ticker.xml" // Om deze regel gaat het. Met *.xml lukt het, met *.php niet. ////No need to edit beyond here//////////// //load xml file if (window.ActiveXObject) var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); else if (document.implementation && document.implementation.createDocument) var xmlDoc= document.implementation.createDocument("","doc",null); if (typeof xmlDoc!="undefined"){ document.write(tickercontainer) xmlDoc.load(xmlsource) } //Regular expression used to match any non-whitespace character var notWhitespace = /\S/ function init_ticker(){ //Cache "messages" element of xml file tickerobj=xmlDoc.getElementsByTagName("xmlticker")[0] //REMOVE white spaces in XML file. Intended mainly for NS6/Mozilla for (i=0;i<tickerobj.childNodes.length;i++){ if ((tickerobj.childNodes[i].nodeType == 3)&&(!notWhitespace.test(tickerobj.childNodes[i].nodeValue))) { tickerobj.removeChild(tickerobj.childNodes[i]) i-- } } document.getElementById("container").innerHTML=tickerobj.childNodes[1].firstChild.nodeValue msglength=tickerobj.childNodes.length currentmsg=2 themessage='' setInterval("rotatemsg()",tickerobj.childNodes[0].firstChild.nodeValue) } function rotatemsg(){ var msgsobj=tickerobj.childNodes[currentmsg] if (msgsobj.getAttribute("url")!=null){ themessage='<a href="'+msgsobj.getAttribute("url")+'"' if (msgsobj.getAttribute("target")!=null) themessage+=' target="'+msgsobj.getAttribute("target")+'"' themessage+='>' } themessage+=msgsobj.firstChild.nodeValue if (msgsobj.getAttribute("url")!=null) themessage+='</a>' //Rotate msg and display it in DIV: document.getElementById("container").innerHTML=themessage currentmsg=(currentmsg<msglength-1)? currentmsg+1 : 1 themessage='' } function fetchxml(){ if (xmlDoc.readyState==4) init_ticker() else setTimeout("fetchxml()",10) } if (window.ActiveXObject) fetchxml() else if (typeof xmlDoc!="undefined") xmlDoc.onload=init_ticker </script>[/code:1:9baf95124a] -Basje
  • verstuur je de xml in php wel met een xml-header? wellicht dat dat een probleem is?
  • Dit is de eerste regel in het XML-bestand:[code:1:4bb0212654]<?xml version="1.0"?>[/code:1:4bb0212654]Klopt dit? - Basje.
  • ja, maar ik bedoelde: header("Content-type: text/xml");

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.