il primo problema è che non puoi usare il document.write per una questione di Scope, quindi devi impostare un elemento contenitore che verrà aggiornato periodicamente.
codice:
<div id="UserData">
</div>
Poi imposti la funzione in modo che sia eseguibile con una chiamata singola:
codice:
var UpdateUserData = function(){
var xmlDoc=loadXMLDoc("../system/dataviews/Sample.xml");
var x=xmlDoc.getElementsByTagName('value');
var y=xmlDoc.getElementsByTagName('tag');
var i, str = "";
for (i=0;i<x.length;i++){
str += y[i].getAttribute('name');
str += " ";
str += x[i].childNodes[0].nodeValue;
str += "
";
}
document.getElementById('UserData').innerHTML = str;
}
Infine, dopo il caricamento della pagina puoi usare l'istruzione setInterval per impostare l'aggiornamento:
codice:
var secondBetweenUpdates = 5;
window.onload = function(){
var timer = setInterval(UpdateUserData, secondBetweenUpdates * 1000);
}