Archief - atom.xml inlezen

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Yuut

Legacy Member
Hallo allemaal ..
ik zit met volgend probleem (zag niet meteen een andere post omtrent mijn probleem met atom)

Ik wil in mijn html pagina een plekje waar laatste 3 blogposts (blogspot) inkomen.
maw, de eerste 3 entries van de atom.xml file die blogspot automatisch genereerd.

Ik zit al een tijdje te zoeken en krijg telkens leeg scherm (terwijl ik wel resultaat krijg bij simpele xml-files van op w3schools)
volgens mij ligt het aan het feit dat title als child van feed en als child van entry staat?

hier staat hoe een atom.xml opgebouw is. (paar keer scrollen staan voorbeelden)
bij mijn weten dus
feed
-title
-...
-entry
--title
--updated


Code:
<html>
<body>

<script type="text/javascript">
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.open("GET","http://belgiumlivesets.blogspot.com/atom.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;

document.write("<table border='1'>");
var x=xmlDoc.getElementsByTagName("entry");
for (i=0;i < 3;i++)
  {
  document.write("<tr><td>");
  document.write(x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue);
  document.write("</td><td>");
  document.write(x[i].getElementsByTagName("updated")[0].childNodes[0].nodeValue);
  document.write("</td></tr>");
  }
document.write("</table>");
</script>

</body>
</html>


Mocht iemand een idee hebben wat ik mis doe, ik zoek er al een tijdje op zonder enig succes.
Alvast hartelijk bedankt!

Zero Grav

Legacy Member
Ge hebt alvast een foutje in uw for-loop.

Code:
for( i = 0; [B]i < [/B]3; i++) { }

Voor de rest werkt het hier wel gewoon in Safari. In Firefox krijg ik wel een error in Firebug, zal het direct eens bekijken.

Yuut

Legacy Member
firefox (IE krijg ik ook niets)
In Safari krijg je dus echt resultaat in de tabel? :s

btw, die for lus klopt toch niet ..
beginnen bij 3, i moet kleiner dan 3 zijn :)
(stond wel i=0;3;i++ heb ik al vervangen nu, stond goed in lokaal file)


Ik las hier op een ander forum dat ik moet php gebruiken op de xml pagina te fetchen (en echo'en) ..

Zero Grav

Legacy Member
i = 0 ja, 'k heb het nu aangepast. Soit, 't probleem is inderdaad dat ge naar een andere host verwijst, iets wat Firefox niet toelaat en Safari blijkbaar wel.

Code:
<!DOCTYPE>
<html>
<head>
	<title></title>
	
	<script type="text/javascript">
	if (window.XMLHttpRequest) {
		// code for IE7+, Firefox, Chrome, Opera, Safari
		netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
		netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
		xmlhttp = new XMLHttpRequest();
	} else {
		//code for IE6, IE5
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	xmlhttp.open("GET","http://belgiumlivesets.blogspot.com/atom.xml",false);
	xmlhttp.send(null);
	xmlDoc = xmlhttp.responseXML;
	
	var x=xmlDoc.getElementsByTagName("entry");
	
	document.write("<table border='1'>");
	
	for (i = 0; i < 3; i++) {
		document.write("<tr><td>");
		document.write(x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue);
		document.write("</td><td>");
		document.write(x[i].getElementsByTagName("updated")[0].childNodes[0].nodeValue);
		document.write("</td></tr>");
	}
	
	document.write("</table>");
	</script>
</head>

<body>

</body>
</html>

Dees werkt in Firefox, maar geeft (offline) een waarschuwing aan de gebruiker dat ge met een externe host probeert te verbinden.

Beetje side-info: Same origin policy - Wikipedia, the free encyclopedia

Yuut

Legacy Member
Offline lukt het nu ook door die extra code,
online daarentegen .. dat is gewoon niet mogelijk om met een externe server te verbinden zonder php?

Alvast neig bedankt :)

(heb alvast script in header geplaatst, netter zo thx)

Zero Grav

Legacy Member
't Zal inderdaad met php moeten. Ge moet Firebug maar eens installeren en ge zult zien dat Firefox u gewoon verbiedt om te verbinden met die host.

Code:
A script from "http://cookiez.dommel.be" was denied UniversalBrowserRead privileges.
[Break on this error] netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan